From 941f30bcfaf79d046259ee9c772572fc99776202 Mon Sep 17 00:00:00 2001 From: Concourse Date: Thu, 26 Sep 2024 10:24:30 +0000 Subject: [PATCH] Updates for v2.0.1090 --- README.md | 8 +- sdk/README.md | 8 + sdk/api/openapi.yaml | 2391 ++++++++++++----- sdk/docs/BonusIssueEvent.md | 25 + sdk/docs/ChangeInterval.md | 26 + ...ChangeIntervalWithOrderManagementDetail.md | 2 +- sdk/docs/EffectiveRange.md | 17 + sdk/docs/EntitiesApi.md | 104 + sdk/docs/FundConfigurationApi.md | 96 + sdk/docs/InstrumentEvent.md | 3 +- sdk/docs/InstrumentEventHolder.md | 1 + sdk/docs/InstrumentEventType.md | 2 + sdk/docs/InstrumentType.md | 2 + sdk/docs/LapseElection.md | 19 + sdk/docs/LusidInstrument.md | 3 +- sdk/docs/MasteredInstrument.md | 23 + sdk/docs/ResourceListOfChangeInterval.md | 20 + sdk/docs/ShareClassDetails.md | 1 + sdk/docs/StagedModificationEffectiveRange.md | 4 +- sdk/docs/ValuationPointDataQueryParameters.md | 2 +- sdk/docs/ValuationPointDataResponse.md | 2 +- sdk/pom.xml | 2 +- .../java/com/finbourne/lusid/ApiClient.java | 2 +- .../com/finbourne/lusid/Configuration.java | 2 +- .../main/java/com/finbourne/lusid/JSON.java | 26 + .../com/finbourne/lusid/api/EntitiesApi.java | 317 +++ .../lusid/api/FundConfigurationApi.java | 254 ++ .../lusid/model/BonusIssueEvent.java | 474 ++++ .../finbourne/lusid/model/ChangeInterval.java | 488 ++++ ...angeIntervalWithOrderManagementDetail.java | 12 +- .../finbourne/lusid/model/EffectiveRange.java | 223 ++ .../lusid/model/InstrumentEvent.java | 11 +- .../lusid/model/InstrumentEventHolder.java | 32 +- .../lusid/model/InstrumentEventType.java | 4 +- .../finbourne/lusid/model/InstrumentType.java | 4 +- .../finbourne/lusid/model/LapseElection.java | 261 ++ .../lusid/model/LusidInstrument.java | 11 +- .../lusid/model/MasteredInstrument.java | 361 +++ .../model/ResourceListOfChangeInterval.java | 380 +++ .../lusid/model/ShareClassDetails.java | 33 +- .../StagedModificationEffectiveRange.java | 4 +- .../ValuationPointDataQueryParameters.java | 16 +- .../model/ValuationPointDataResponse.java | 24 +- 43 files changed, 5015 insertions(+), 685 deletions(-) create mode 100644 sdk/docs/BonusIssueEvent.md create mode 100644 sdk/docs/ChangeInterval.md create mode 100644 sdk/docs/EffectiveRange.md create mode 100644 sdk/docs/LapseElection.md create mode 100644 sdk/docs/MasteredInstrument.md create mode 100644 sdk/docs/ResourceListOfChangeInterval.md create mode 100644 sdk/src/main/java/com/finbourne/lusid/model/BonusIssueEvent.java create mode 100644 sdk/src/main/java/com/finbourne/lusid/model/ChangeInterval.java create mode 100644 sdk/src/main/java/com/finbourne/lusid/model/EffectiveRange.java create mode 100644 sdk/src/main/java/com/finbourne/lusid/model/LapseElection.java create mode 100644 sdk/src/main/java/com/finbourne/lusid/model/MasteredInstrument.java create mode 100644 sdk/src/main/java/com/finbourne/lusid/model/ResourceListOfChangeInterval.java diff --git a/README.md b/README.md index 88a8cdf3aec..928b2c34cf8 100644 --- a/README.md +++ b/README.md @@ -30,8 +30,8 @@ This code is automatically generated by the [OpenAPI Generator](https://openapi- ## Versions -- API version: 0.11.6865 -- SDK version: 2.0.1084 +- API version: 0.11.6870 +- SDK version: 2.0.1090 ## Requirements @@ -47,7 +47,7 @@ Add this dependency to your pom.xml com.finbourne lusid-sdk - 2.0.1084 + 2.0.1090 ``` @@ -61,7 +61,7 @@ Add this dependency to your build.gradle } dependencies { - implementation "com.finbourne:lusid-sdk:2.0.1084" + implementation "com.finbourne:lusid-sdk:2.0.1090" } ``` diff --git a/sdk/README.md b/sdk/README.md index 649be4f47d5..cd444179b2d 100644 --- a/sdk/README.md +++ b/sdk/README.md @@ -189,6 +189,7 @@ Class | Method | HTTP request | Description *DerivedTransactionPortfoliosApi* | [**deleteDerivedPortfolioDetails**](docs/DerivedTransactionPortfoliosApi.md#deletederivedportfoliodetails) | **DELETE** /api/derivedtransactionportfolios/{scope}/{code}/details | [EARLY ACCESS] DeleteDerivedPortfolioDetails: Delete derived portfolio details *EntitiesApi* | [**getCustomEntityByEntityUniqueId**](docs/EntitiesApi.md#getcustomentitybyentityuniqueid) | **GET** /api/entities/customentities/{entityUniqueId} | [EXPERIMENTAL] GetCustomEntityByEntityUniqueId: Get a Custom Entity instance by its EntityUniqueId *EntitiesApi* | [**getDataTypeByEntityUniqueId**](docs/EntitiesApi.md#getdatatypebyentityuniqueid) | **GET** /api/entities/datatypes/{entityUniqueId} | [EXPERIMENTAL] GetDataTypeByEntityUniqueId: Get DataType by EntityUniqueId +*EntitiesApi* | [**getEntityHistory**](docs/EntitiesApi.md#getentityhistory) | **GET** /api/entities/{entityType}/{entityUniqueId}/history | [EXPERIMENTAL] GetEntityHistory: List an entity's history information *EntitiesApi* | [**getInstrumentByEntityUniqueId**](docs/EntitiesApi.md#getinstrumentbyentityuniqueid) | **GET** /api/entities/instruments/{entityUniqueId} | [EXPERIMENTAL] GetInstrumentByEntityUniqueId: Get instrument by EntityUniqueId *EntitiesApi* | [**getPortfolioByEntityUniqueId**](docs/EntitiesApi.md#getportfoliobyentityuniqueid) | **GET** /api/entities/portfolios/{entityUniqueId} | [EXPERIMENTAL] GetPortfolioByEntityUniqueId: Get portfolio by EntityUniqueId *EntitiesApi* | [**getPortfolioChanges**](docs/EntitiesApi.md#getportfoliochanges) | **GET** /api/entities/changes/portfolios | GetPortfolioChanges: Get the next change to each portfolio in a scope. @@ -207,6 +208,7 @@ Class | Method | HTTP request | Description *FundConfigurationApi* | [**deleteFundConfiguration**](docs/FundConfigurationApi.md#deletefundconfiguration) | **DELETE** /api/fundconfigurations/{scope}/{code} | [EXPERIMENTAL] DeleteFundConfiguration: Delete a FundConfiguration. *FundConfigurationApi* | [**getFundConfiguration**](docs/FundConfigurationApi.md#getfundconfiguration) | **GET** /api/fundconfigurations/{scope}/{code} | [EXPERIMENTAL] GetFundConfiguration: Get FundConfiguration. *FundConfigurationApi* | [**listFundConfigurations**](docs/FundConfigurationApi.md#listfundconfigurations) | **GET** /api/fundconfigurations | [EXPERIMENTAL] ListFundConfigurations: List FundConfiguration. +*FundConfigurationApi* | [**patchFundConfiguration**](docs/FundConfigurationApi.md#patchfundconfiguration) | **PATCH** /api/fundconfigurations/{scope}/{code} | [EXPERIMENTAL] PatchFundConfiguration: Patch Fund Configuration. *FundConfigurationApi* | [**upsertFundConfigurationProperties**](docs/FundConfigurationApi.md#upsertfundconfigurationproperties) | **POST** /api/fundconfigurations/{scope}/{code}/properties/$upsert | [EXPERIMENTAL] UpsertFundConfigurationProperties: Upsert FundConfiguration properties *FundsApi* | [**acceptEstimateValuationPoint**](docs/FundsApi.md#acceptestimatevaluationpoint) | **POST** /api/funds/{scope}/{code}/valuationpoints/$acceptestimate | [EXPERIMENTAL] AcceptEstimateValuationPoint: Accepts an Estimate Valuation Point. *FundsApi* | [**createFee**](docs/FundsApi.md#createfee) | **POST** /api/funds/{scope}/{code}/fees | [EXPERIMENTAL] CreateFee: Create a Fee. @@ -675,6 +677,7 @@ Class | Method | HTTP request | Description - [BondCouponEvent](docs/BondCouponEvent.md) - [BondDefaultEvent](docs/BondDefaultEvent.md) - [BondPrincipalEvent](docs/BondPrincipalEvent.md) + - [BonusIssueEvent](docs/BonusIssueEvent.md) - [BookTransactionsRequest](docs/BookTransactionsRequest.md) - [BookTransactionsResponse](docs/BookTransactionsResponse.md) - [BoolComplianceParameter](docs/BoolComplianceParameter.md) @@ -715,6 +718,7 @@ Class | Method | HTTP request | Description - [Change](docs/Change.md) - [ChangeHistory](docs/ChangeHistory.md) - [ChangeHistoryAction](docs/ChangeHistoryAction.md) + - [ChangeInterval](docs/ChangeInterval.md) - [ChangeIntervalWithOrderManagementDetail](docs/ChangeIntervalWithOrderManagementDetail.md) - [ChangeItem](docs/ChangeItem.md) - [ChartOfAccounts](docs/ChartOfAccounts.md) @@ -883,6 +887,7 @@ Class | Method | HTTP request | Description - [EconomicDependencyType](docs/EconomicDependencyType.md) - [EconomicDependencyWithComplexMarketData](docs/EconomicDependencyWithComplexMarketData.md) - [EconomicDependencyWithQuote](docs/EconomicDependencyWithQuote.md) + - [EffectiveRange](docs/EffectiveRange.md) - [ElectionSpecification](docs/ElectionSpecification.md) - [EligibilityCalculation](docs/EligibilityCalculation.md) - [EmptyModelOptions](docs/EmptyModelOptions.md) @@ -1072,6 +1077,7 @@ Class | Method | HTTP request | Description - [JournalEntryLine](docs/JournalEntryLine.md) - [JournalEntryLinesQueryParameters](docs/JournalEntryLinesQueryParameters.md) - [LabelValueSet](docs/LabelValueSet.md) + - [LapseElection](docs/LapseElection.md) - [LegDefinition](docs/LegDefinition.md) - [LegalEntity](docs/LegalEntity.md) - [LevelStep](docs/LevelStep.md) @@ -1103,6 +1109,7 @@ Class | Method | HTTP request | Description - [MarketObservableType](docs/MarketObservableType.md) - [MarketOptions](docs/MarketOptions.md) - [MarketQuote](docs/MarketQuote.md) + - [MasteredInstrument](docs/MasteredInstrument.md) - [MatchCriterion](docs/MatchCriterion.md) - [MaturityEvent](docs/MaturityEvent.md) - [MbsCouponEvent](docs/MbsCouponEvent.md) @@ -1370,6 +1377,7 @@ Class | Method | HTTP request | Description - [ResourceListOfCalendarDate](docs/ResourceListOfCalendarDate.md) - [ResourceListOfChange](docs/ResourceListOfChange.md) - [ResourceListOfChangeHistory](docs/ResourceListOfChangeHistory.md) + - [ResourceListOfChangeInterval](docs/ResourceListOfChangeInterval.md) - [ResourceListOfChangeIntervalWithOrderManagementDetail](docs/ResourceListOfChangeIntervalWithOrderManagementDetail.md) - [ResourceListOfComplianceBreachedOrderInfo](docs/ResourceListOfComplianceBreachedOrderInfo.md) - [ResourceListOfComplianceRule](docs/ResourceListOfComplianceRule.md) diff --git a/sdk/api/openapi.yaml b/sdk/api/openapi.yaml index bcaea8cf8ef..89917b7ac56 100644 --- a/sdk/api/openapi.yaml +++ b/sdk/api/openapi.yaml @@ -366,7 +366,7 @@ info: | 923|Multiple sets of Share Class Sub Holding Keys configured across the Portfolios of a Fund.| | termsOfService: https://www.finbourne.com/legal/terms-conditions title: LUSID API - version: 0.11.6865 + version: 0.11.6870 x-logo: url: https://www.lusid.com/app/assets/logo_white.png backgroundColor: '#415464' @@ -25550,6 +25550,223 @@ paths: - Entities x-fbn-apistatus: Experimental x-accepts: application/json + /api/entities/{entityType}/{entityUniqueId}/history: + get: + description: Retrieve a page of an entity's change history up to a particular + point in AsAt time. + operationId: GetEntityHistory + parameters: + - description: The type of the entity to list the change history for. + explode: false + in: path + name: entityType + required: true + schema: + maxLength: 256 + minLength: 1 + type: string + style: simple + - description: The universally unique identifier of the entity. + explode: false + in: path + name: entityUniqueId + required: true + schema: + maxLength: 40 + minLength: 30 + pattern: "^[a-zA-Z0-9\\-]+$" + type: string + style: simple + - description: The asAt datetime at which to list change history information. + Defaults to return the change history at the latest datetime if not specified. + explode: true + in: query + name: asAt + required: false + schema: + format: date-time + type: string + style: form + x-nullable: true + - description: "The pagination token to use to continue listing change history\ + \ information from a previous call to list change\r\n history information.\ + \ This value is returned from the previous call. If a pagination token is\ + \ provided the filter, sortBy\r\n and asAt fields must not have changed\ + \ since the original request." + explode: true + in: query + name: page + required: false + schema: + maxLength: 500 + minLength: 1 + pattern: "^[a-zA-Z0-9\\+/]*={0,3}$" + type: string + style: form + - description: "When paginating, limit the number of returned results to this\ + \ many. Defaults to 100 if not specified." + explode: true + in: query + name: limit + required: false + schema: + format: int32 + maximum: 5000 + minimum: 1 + type: integer + style: form + x-nullable: true + - description: "Expression to filter the result set.\r\n Read more about filtering\ + \ results from LUSID here https://support.lusid.com/filtering-results-from-lusid." + explode: true + in: query + name: filter + required: false + schema: + maxLength: 16384 + minLength: 0 + pattern: "^[\\s\\S]*$" + type: string + style: form + - description: A list of field names suffixed by " ASC" or " DESC" + explode: true + in: query + name: sortBy + required: false + schema: + items: + type: string + type: array + style: form + x-nullable: true + responses: + "200": + content: + text/plain: + example: + values: + - asAtModified: 2024-01-01T09:00:10.0000000+00:00 + userIdModified: UserId123 + requestIdModified: abcdef-qwert-yuiop-39101 + asAtVersionNumber: 1 + action: Create + attributeName: Quantity + previousValue: + labelValue: "" + newValue: + labelValue: "10" + effectiveRange: + fromDate: 0001-01-01T00:00:00.0000000+00:00 + untilDate: 9999-12-31T23:59:59.9999999+00:00 + - asAtModified: 2024-01-01T09:00:10.0000000+00:00 + userIdModified: UserId123 + requestIdModified: abcdef-qwert-yuiop-54244 + asAtVersionNumber: 2 + action: Update + attributeName: Quantity + previousValue: + labelValue: "10" + newValue: + labelValue: "15" + effectiveRange: + fromDate: 0001-01-01T00:00:00.0000000+00:00 + untilDate: 9999-12-31T23:59:59.9999999+00:00 + href: https://myco.lusid.com/api/api/entities/order/51447dc9-1831-445e-8c3b-ec9842908e1e/history + links: [] + schema: + $ref: '#/components/schemas/ResourceListOfChangeInterval' + application/json: + example: + values: + - asAtModified: 2024-01-01T09:00:10.0000000+00:00 + userIdModified: UserId123 + requestIdModified: abcdef-qwert-yuiop-39101 + asAtVersionNumber: 1 + action: Create + attributeName: Quantity + previousValue: + labelValue: "" + newValue: + labelValue: "10" + effectiveRange: + fromDate: 0001-01-01T00:00:00.0000000+00:00 + untilDate: 9999-12-31T23:59:59.9999999+00:00 + - asAtModified: 2024-01-01T09:00:10.0000000+00:00 + userIdModified: UserId123 + requestIdModified: abcdef-qwert-yuiop-54244 + asAtVersionNumber: 2 + action: Update + attributeName: Quantity + previousValue: + labelValue: "10" + newValue: + labelValue: "15" + effectiveRange: + fromDate: 0001-01-01T00:00:00.0000000+00:00 + untilDate: 9999-12-31T23:59:59.9999999+00:00 + href: https://myco.lusid.com/api/api/entities/order/51447dc9-1831-445e-8c3b-ec9842908e1e/history + links: [] + schema: + $ref: '#/components/schemas/ResourceListOfChangeInterval' + text/json: + example: + values: + - asAtModified: 2024-01-01T09:00:10.0000000+00:00 + userIdModified: UserId123 + requestIdModified: abcdef-qwert-yuiop-39101 + asAtVersionNumber: 1 + action: Create + attributeName: Quantity + previousValue: + labelValue: "" + newValue: + labelValue: "10" + effectiveRange: + fromDate: 0001-01-01T00:00:00.0000000+00:00 + untilDate: 9999-12-31T23:59:59.9999999+00:00 + - asAtModified: 2024-01-01T09:00:10.0000000+00:00 + userIdModified: UserId123 + requestIdModified: abcdef-qwert-yuiop-54244 + asAtVersionNumber: 2 + action: Update + attributeName: Quantity + previousValue: + labelValue: "10" + newValue: + labelValue: "15" + effectiveRange: + fromDate: 0001-01-01T00:00:00.0000000+00:00 + untilDate: 9999-12-31T23:59:59.9999999+00:00 + href: https://myco.lusid.com/api/api/entities/order/51447dc9-1831-445e-8c3b-ec9842908e1e/history + links: [] + schema: + $ref: '#/components/schemas/ResourceListOfChangeInterval' + description: The change history of the provided entity. + "400": + content: + text/plain: + schema: + $ref: '#/components/schemas/LusidValidationProblemDetails' + application/json: + schema: + $ref: '#/components/schemas/LusidValidationProblemDetails' + text/json: + schema: + $ref: '#/components/schemas/LusidValidationProblemDetails' + description: The details of the input related failure + default: + content: + application/json: + schema: + $ref: '#/components/schemas/LusidProblemDetails' + description: Error response + security: + - oauth2: [] + summary: "[EXPERIMENTAL] GetEntityHistory: List an entity's history information" + tags: + - Entities + x-fbn-apistatus: Experimental + x-accepts: application/json /api/executions: get: description: Fetch the last pre-AsAt date version of each execution in scope @@ -27753,6 +27970,131 @@ paths: - Fund Configuration x-fbn-apistatus: Experimental x-accepts: application/json + patch: + description: "Create or update certain fields for a particular FundConfiguration.\r\ + \nThe behaviour is defined by the JSON Patch specification.\r\n \r\nCurrently\ + \ supported fields are: displayName, description, dealingFilters, pnlFilters,\ + \ backOutFilters." + operationId: PatchFundConfiguration + parameters: + - description: The scope of the FundConfiguration. + explode: false + in: path + name: scope + required: true + schema: + maxLength: 64 + minLength: 1 + pattern: "^[a-zA-Z0-9\\-_]+$" + type: string + style: simple + - description: "The code of the FundConfiguration. Together with the\r\n scope\ + \ this uniquely identifies the FundConfiguration." + explode: false + in: path + name: code + required: true + schema: + maxLength: 64 + minLength: 1 + pattern: "^[a-zA-Z0-9\\-_]+$" + type: string + style: simple + requestBody: + content: + application/json-patch+json: + example: + - value: + - filterId: SUB + filter: GeneralLedgerAccountCode eq '3001' + - filterId: RED + filter: GeneralLedgerAccountCode eq '3002' + path: /dealingFilters + op: add + schema: + items: + $ref: '#/components/schemas/Operation' + type: array + application/json: + example: + - value: + - filterId: SUB + filter: GeneralLedgerAccountCode eq '3001' + - filterId: RED + filter: GeneralLedgerAccountCode eq '3002' + path: /dealingFilters + op: add + schema: + items: + $ref: '#/components/schemas/Operation' + type: array + text/json: + example: + - value: + - filterId: SUB + filter: GeneralLedgerAccountCode eq '3001' + - filterId: RED + filter: GeneralLedgerAccountCode eq '3002' + path: /dealingFilters + op: add + schema: + items: + $ref: '#/components/schemas/Operation' + type: array + application/*+json: + example: + - value: + - filterId: SUB + filter: GeneralLedgerAccountCode eq '3001' + - filterId: RED + filter: GeneralLedgerAccountCode eq '3002' + path: /dealingFilters + op: add + schema: + items: + $ref: '#/components/schemas/Operation' + type: array + description: "The json patch document. For more information see: https://datatracker.ietf.org/doc/html/rfc6902." + required: true + responses: + "200": + content: + text/plain: + schema: + $ref: '#/components/schemas/FundConfiguration' + application/json: + schema: + $ref: '#/components/schemas/FundConfiguration' + text/json: + schema: + $ref: '#/components/schemas/FundConfiguration' + description: The newly patched FundConfiguration + "400": + content: + text/plain: + schema: + $ref: '#/components/schemas/LusidValidationProblemDetails' + application/json: + schema: + $ref: '#/components/schemas/LusidValidationProblemDetails' + text/json: + schema: + $ref: '#/components/schemas/LusidValidationProblemDetails' + description: The details of the input related failure + default: + content: + application/json: + schema: + $ref: '#/components/schemas/LusidProblemDetails' + description: Error response + security: + - oauth2: [] + summary: "[EXPERIMENTAL] PatchFundConfiguration: Patch Fund Configuration." + tags: + - Fund Configuration + x-fbn-apistatus: Experimental + x-content-type: application/json-patch+json + x-accepts: application/json /api/fundconfigurations/{scope}/{code}/properties/$upsert: post: description: "Update or insert one or more properties onto a single FundConfiguration.\ @@ -30363,37 +30705,37 @@ paths: nav: amount: 0 shareClassData: - ShareClassShortCode: - shareClassBreakdown: - backOut: {} - dealing: - classDealing: {} - classDealingUnits: {} - pnL: - apportionedNonClassSpecificPnl: {} - classPnl: {} - totalPnl: {} - gav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - fees: {} + - shareClassBreakdown: + backOut: {} + dealing: + classDealing: {} + classDealingUnits: {} + pnL: + apportionedNonClassSpecificPnl: {} + classPnl: {} + totalPnl: {} + gav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + fees: {} + nav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + miscellaneous: {} + shareClassToFundFxRate: 1 + capitalRatio: 1 + previousShareClassBreakdown: nav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - miscellaneous: {} + amount: + fundCurrencyAmount: 0 + shareClassCurrencyAmount: 0 shareClassToFundFxRate: 1 - capitalRatio: 1 - previousShareClassBreakdown: - nav: - amount: - fundCurrencyAmount: 0 - shareClassCurrencyAmount: 0 - shareClassToFundFxRate: 1 - shareClassDetails: - lusidInstrumentId: LUID_12345678 - instrumentScope: default - domCurrency: USD - instrumentActive: true + shareClassDetails: + lusidInstrumentId: LUID_12345678 + instrumentScope: default + shortCode: ShareClassShortCode + domCurrency: USD + instrumentActive: true valuationPointCode: FebValuationPoint previousValuationPointCode: JanValuationPoint latestValuationPoint: @@ -30424,37 +30766,37 @@ paths: nav: amount: 0 shareClassData: - ShareClassShortCode: - shareClassBreakdown: - backOut: {} - dealing: - classDealing: {} - classDealingUnits: {} - pnL: - apportionedNonClassSpecificPnl: {} - classPnl: {} - totalPnl: {} - gav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - fees: {} + - shareClassBreakdown: + backOut: {} + dealing: + classDealing: {} + classDealingUnits: {} + pnL: + apportionedNonClassSpecificPnl: {} + classPnl: {} + totalPnl: {} + gav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + fees: {} + nav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + miscellaneous: {} + shareClassToFundFxRate: 1 + capitalRatio: 1 + previousShareClassBreakdown: nav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - miscellaneous: {} + amount: + fundCurrencyAmount: 0 + shareClassCurrencyAmount: 0 shareClassToFundFxRate: 1 - capitalRatio: 1 - previousShareClassBreakdown: - nav: - amount: - fundCurrencyAmount: 0 - shareClassCurrencyAmount: 0 - shareClassToFundFxRate: 1 - shareClassDetails: - lusidInstrumentId: LUID_12345678 - instrumentScope: default - domCurrency: USD - instrumentActive: true + shareClassDetails: + lusidInstrumentId: LUID_12345678 + instrumentScope: default + shortCode: ShareClassShortCode + domCurrency: USD + instrumentActive: true valuationPointCode: FebValuationPoint previousValuationPointCode: JanValuationPoint schema: @@ -30490,37 +30832,37 @@ paths: nav: amount: 0 shareClassData: - ShareClassShortCode: - shareClassBreakdown: - backOut: {} - dealing: - classDealing: {} - classDealingUnits: {} - pnL: - apportionedNonClassSpecificPnl: {} - classPnl: {} - totalPnl: {} - gav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - fees: {} + - shareClassBreakdown: + backOut: {} + dealing: + classDealing: {} + classDealingUnits: {} + pnL: + apportionedNonClassSpecificPnl: {} + classPnl: {} + totalPnl: {} + gav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + fees: {} + nav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + miscellaneous: {} + shareClassToFundFxRate: 1 + capitalRatio: 1 + previousShareClassBreakdown: nav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - miscellaneous: {} + amount: + fundCurrencyAmount: 0 + shareClassCurrencyAmount: 0 shareClassToFundFxRate: 1 - capitalRatio: 1 - previousShareClassBreakdown: - nav: - amount: - fundCurrencyAmount: 0 - shareClassCurrencyAmount: 0 - shareClassToFundFxRate: 1 - shareClassDetails: - lusidInstrumentId: LUID_12345678 - instrumentScope: default - domCurrency: USD - instrumentActive: true + shareClassDetails: + lusidInstrumentId: LUID_12345678 + instrumentScope: default + shortCode: ShareClassShortCode + domCurrency: USD + instrumentActive: true valuationPointCode: FebValuationPoint previousValuationPointCode: JanValuationPoint latestValuationPoint: @@ -30551,37 +30893,37 @@ paths: nav: amount: 0 shareClassData: - ShareClassShortCode: - shareClassBreakdown: - backOut: {} - dealing: - classDealing: {} - classDealingUnits: {} - pnL: - apportionedNonClassSpecificPnl: {} - classPnl: {} - totalPnl: {} - gav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - fees: {} + - shareClassBreakdown: + backOut: {} + dealing: + classDealing: {} + classDealingUnits: {} + pnL: + apportionedNonClassSpecificPnl: {} + classPnl: {} + totalPnl: {} + gav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + fees: {} + nav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + miscellaneous: {} + shareClassToFundFxRate: 1 + capitalRatio: 1 + previousShareClassBreakdown: nav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - miscellaneous: {} + amount: + fundCurrencyAmount: 0 + shareClassCurrencyAmount: 0 shareClassToFundFxRate: 1 - capitalRatio: 1 - previousShareClassBreakdown: - nav: - amount: - fundCurrencyAmount: 0 - shareClassCurrencyAmount: 0 - shareClassToFundFxRate: 1 - shareClassDetails: - lusidInstrumentId: LUID_12345678 - instrumentScope: default - domCurrency: USD - instrumentActive: true + shareClassDetails: + lusidInstrumentId: LUID_12345678 + instrumentScope: default + shortCode: ShareClassShortCode + domCurrency: USD + instrumentActive: true valuationPointCode: FebValuationPoint previousValuationPointCode: JanValuationPoint schema: @@ -30617,37 +30959,37 @@ paths: nav: amount: 0 shareClassData: - ShareClassShortCode: - shareClassBreakdown: - backOut: {} - dealing: - classDealing: {} - classDealingUnits: {} - pnL: - apportionedNonClassSpecificPnl: {} - classPnl: {} - totalPnl: {} - gav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - fees: {} + - shareClassBreakdown: + backOut: {} + dealing: + classDealing: {} + classDealingUnits: {} + pnL: + apportionedNonClassSpecificPnl: {} + classPnl: {} + totalPnl: {} + gav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + fees: {} + nav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + miscellaneous: {} + shareClassToFundFxRate: 1 + capitalRatio: 1 + previousShareClassBreakdown: nav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - miscellaneous: {} + amount: + fundCurrencyAmount: 0 + shareClassCurrencyAmount: 0 shareClassToFundFxRate: 1 - capitalRatio: 1 - previousShareClassBreakdown: - nav: - amount: - fundCurrencyAmount: 0 - shareClassCurrencyAmount: 0 - shareClassToFundFxRate: 1 - shareClassDetails: - lusidInstrumentId: LUID_12345678 - instrumentScope: default - domCurrency: USD - instrumentActive: true + shareClassDetails: + lusidInstrumentId: LUID_12345678 + instrumentScope: default + shortCode: ShareClassShortCode + domCurrency: USD + instrumentActive: true valuationPointCode: FebValuationPoint previousValuationPointCode: JanValuationPoint latestValuationPoint: @@ -30678,37 +31020,37 @@ paths: nav: amount: 0 shareClassData: - ShareClassShortCode: - shareClassBreakdown: - backOut: {} - dealing: - classDealing: {} - classDealingUnits: {} - pnL: - apportionedNonClassSpecificPnl: {} - classPnl: {} - totalPnl: {} - gav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - fees: {} + - shareClassBreakdown: + backOut: {} + dealing: + classDealing: {} + classDealingUnits: {} + pnL: + apportionedNonClassSpecificPnl: {} + classPnl: {} + totalPnl: {} + gav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + fees: {} + nav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + miscellaneous: {} + shareClassToFundFxRate: 1 + capitalRatio: 1 + previousShareClassBreakdown: nav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - miscellaneous: {} + amount: + fundCurrencyAmount: 0 + shareClassCurrencyAmount: 0 shareClassToFundFxRate: 1 - capitalRatio: 1 - previousShareClassBreakdown: - nav: - amount: - fundCurrencyAmount: 0 - shareClassCurrencyAmount: 0 - shareClassToFundFxRate: 1 - shareClassDetails: - lusidInstrumentId: LUID_12345678 - instrumentScope: default - domCurrency: USD - instrumentActive: true + shareClassDetails: + lusidInstrumentId: LUID_12345678 + instrumentScope: default + shortCode: ShareClassShortCode + domCurrency: USD + instrumentActive: true valuationPointCode: FebValuationPoint previousValuationPointCode: JanValuationPoint schema: @@ -30826,37 +31168,37 @@ paths: nav: amount: 0 shareClassData: - ShareClassShortCode: - shareClassBreakdown: - backOut: {} - dealing: - classDealing: {} - classDealingUnits: {} - pnL: - apportionedNonClassSpecificPnl: {} - classPnl: {} - totalPnl: {} - gav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - fees: {} + - shareClassBreakdown: + backOut: {} + dealing: + classDealing: {} + classDealingUnits: {} + pnL: + apportionedNonClassSpecificPnl: {} + classPnl: {} + totalPnl: {} + gav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + fees: {} + nav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + miscellaneous: {} + shareClassToFundFxRate: 1 + capitalRatio: 1 + previousShareClassBreakdown: nav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - miscellaneous: {} + amount: + fundCurrencyAmount: 0 + shareClassCurrencyAmount: 0 shareClassToFundFxRate: 1 - capitalRatio: 1 - previousShareClassBreakdown: - nav: - amount: - fundCurrencyAmount: 0 - shareClassCurrencyAmount: 0 - shareClassToFundFxRate: 1 - shareClassDetails: - lusidInstrumentId: LUID_12345678 - instrumentScope: default - domCurrency: USD - instrumentActive: true + shareClassDetails: + lusidInstrumentId: LUID_12345678 + instrumentScope: default + shortCode: ShareClassShortCode + domCurrency: USD + instrumentActive: true valuationPointCode: FebValuationPoint previousValuationPointCode: JanValuationPoint schema: @@ -30890,37 +31232,37 @@ paths: nav: amount: 0 shareClassData: - ShareClassShortCode: - shareClassBreakdown: - backOut: {} - dealing: - classDealing: {} - classDealingUnits: {} - pnL: - apportionedNonClassSpecificPnl: {} - classPnl: {} - totalPnl: {} - gav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - fees: {} + - shareClassBreakdown: + backOut: {} + dealing: + classDealing: {} + classDealingUnits: {} + pnL: + apportionedNonClassSpecificPnl: {} + classPnl: {} + totalPnl: {} + gav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + fees: {} + nav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + miscellaneous: {} + shareClassToFundFxRate: 1 + capitalRatio: 1 + previousShareClassBreakdown: nav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - miscellaneous: {} + amount: + fundCurrencyAmount: 0 + shareClassCurrencyAmount: 0 shareClassToFundFxRate: 1 - capitalRatio: 1 - previousShareClassBreakdown: - nav: - amount: - fundCurrencyAmount: 0 - shareClassCurrencyAmount: 0 - shareClassToFundFxRate: 1 - shareClassDetails: - lusidInstrumentId: LUID_12345678 - instrumentScope: default - domCurrency: USD - instrumentActive: true + shareClassDetails: + lusidInstrumentId: LUID_12345678 + instrumentScope: default + shortCode: ShareClassShortCode + domCurrency: USD + instrumentActive: true valuationPointCode: FebValuationPoint previousValuationPointCode: JanValuationPoint schema: @@ -30954,37 +31296,37 @@ paths: nav: amount: 0 shareClassData: - ShareClassShortCode: - shareClassBreakdown: - backOut: {} - dealing: - classDealing: {} - classDealingUnits: {} - pnL: - apportionedNonClassSpecificPnl: {} - classPnl: {} - totalPnl: {} - gav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - fees: {} + - shareClassBreakdown: + backOut: {} + dealing: + classDealing: {} + classDealingUnits: {} + pnL: + apportionedNonClassSpecificPnl: {} + classPnl: {} + totalPnl: {} + gav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + fees: {} + nav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + miscellaneous: {} + shareClassToFundFxRate: 1 + capitalRatio: 1 + previousShareClassBreakdown: nav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - miscellaneous: {} + amount: + fundCurrencyAmount: 0 + shareClassCurrencyAmount: 0 shareClassToFundFxRate: 1 - capitalRatio: 1 - previousShareClassBreakdown: - nav: - amount: - fundCurrencyAmount: 0 - shareClassCurrencyAmount: 0 - shareClassToFundFxRate: 1 - shareClassDetails: - lusidInstrumentId: LUID_12345678 - instrumentScope: default - domCurrency: USD - instrumentActive: true + shareClassDetails: + lusidInstrumentId: LUID_12345678 + instrumentScope: default + shortCode: ShareClassShortCode + domCurrency: USD + instrumentActive: true valuationPointCode: FebValuationPoint previousValuationPointCode: JanValuationPoint schema: @@ -31119,37 +31461,37 @@ paths: nav: amount: 0 shareClassData: - ShareClassShortCode: - shareClassBreakdown: - backOut: {} - dealing: - classDealing: {} - classDealingUnits: {} - pnL: - apportionedNonClassSpecificPnl: {} - classPnl: {} - totalPnl: {} - gav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - fees: {} + - shareClassBreakdown: + backOut: {} + dealing: + classDealing: {} + classDealingUnits: {} + pnL: + apportionedNonClassSpecificPnl: {} + classPnl: {} + totalPnl: {} + gav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + fees: {} + nav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + miscellaneous: {} + shareClassToFundFxRate: 1 + capitalRatio: 1 + previousShareClassBreakdown: nav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - miscellaneous: {} + amount: + fundCurrencyAmount: 0 + shareClassCurrencyAmount: 0 shareClassToFundFxRate: 1 - capitalRatio: 1 - previousShareClassBreakdown: - nav: - amount: - fundCurrencyAmount: 0 - shareClassCurrencyAmount: 0 - shareClassToFundFxRate: 1 - shareClassDetails: - lusidInstrumentId: LUID_12345678 - instrumentScope: default - domCurrency: USD - instrumentActive: true + shareClassDetails: + lusidInstrumentId: LUID_12345678 + instrumentScope: default + shortCode: ShareClassShortCode + domCurrency: USD + instrumentActive: true valuationPointCode: FebValuationPoint previousValuationPointCode: JanValuationPoint schema: @@ -31183,37 +31525,37 @@ paths: nav: amount: 0 shareClassData: - ShareClassShortCode: - shareClassBreakdown: - backOut: {} - dealing: - classDealing: {} - classDealingUnits: {} - pnL: - apportionedNonClassSpecificPnl: {} - classPnl: {} - totalPnl: {} - gav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - fees: {} + - shareClassBreakdown: + backOut: {} + dealing: + classDealing: {} + classDealingUnits: {} + pnL: + apportionedNonClassSpecificPnl: {} + classPnl: {} + totalPnl: {} + gav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + fees: {} + nav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + miscellaneous: {} + shareClassToFundFxRate: 1 + capitalRatio: 1 + previousShareClassBreakdown: nav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - miscellaneous: {} + amount: + fundCurrencyAmount: 0 + shareClassCurrencyAmount: 0 shareClassToFundFxRate: 1 - capitalRatio: 1 - previousShareClassBreakdown: - nav: - amount: - fundCurrencyAmount: 0 - shareClassCurrencyAmount: 0 - shareClassToFundFxRate: 1 - shareClassDetails: - lusidInstrumentId: LUID_12345678 - instrumentScope: default - domCurrency: USD - instrumentActive: true + shareClassDetails: + lusidInstrumentId: LUID_12345678 + instrumentScope: default + shortCode: ShareClassShortCode + domCurrency: USD + instrumentActive: true valuationPointCode: FebValuationPoint previousValuationPointCode: JanValuationPoint schema: @@ -31247,37 +31589,37 @@ paths: nav: amount: 0 shareClassData: - ShareClassShortCode: - shareClassBreakdown: - backOut: {} - dealing: - classDealing: {} - classDealingUnits: {} - pnL: - apportionedNonClassSpecificPnl: {} - classPnl: {} - totalPnl: {} - gav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - fees: {} + - shareClassBreakdown: + backOut: {} + dealing: + classDealing: {} + classDealingUnits: {} + pnL: + apportionedNonClassSpecificPnl: {} + classPnl: {} + totalPnl: {} + gav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + fees: {} + nav: + fundCurrencyAmount: 99999.99 + shareClassCurrencyAmount: 99999.99 + miscellaneous: {} + shareClassToFundFxRate: 1 + capitalRatio: 1 + previousShareClassBreakdown: nav: - fundCurrencyAmount: 99999.99 - shareClassCurrencyAmount: 99999.99 - miscellaneous: {} + amount: + fundCurrencyAmount: 0 + shareClassCurrencyAmount: 0 shareClassToFundFxRate: 1 - capitalRatio: 1 - previousShareClassBreakdown: - nav: - amount: - fundCurrencyAmount: 0 - shareClassCurrencyAmount: 0 - shareClassToFundFxRate: 1 - shareClassDetails: - lusidInstrumentId: LUID_12345678 - instrumentScope: default - domCurrency: USD - instrumentActive: true + shareClassDetails: + lusidInstrumentId: LUID_12345678 + instrumentScope: default + shortCode: ShareClassShortCode + domCurrency: USD + instrumentActive: true valuationPointCode: FebValuationPoint previousValuationPointCode: JanValuationPoint schema: @@ -45087,6 +45429,9 @@ paths: labelValue: "10" newValue: labelValue: "15" + effectiveRange: + fromDate: 0001-01-01T00:00:00.0000000+00:00 + untilDate: 9999-12-31T23:59:59.9999999+00:00 - detail: BlockIdScope: SomeScope BlockIdCode: SomeCode @@ -45096,6 +45441,9 @@ paths: requestIdModified: abcdef-qwert-yuiop-98134 asAtVersionNumber: 1 action: OrderAddedToBlock + effectiveRange: + fromDate: 0001-01-01T00:00:00.0000000+00:00 + untilDate: 9999-12-31T23:59:59.9999999+00:00 href: https://myco.lusid.com/api/api/ordermanagement/order/SomeScope/SomeCode/$history links: [] schema: @@ -45114,6 +45462,9 @@ paths: labelValue: "10" newValue: labelValue: "15" + effectiveRange: + fromDate: 0001-01-01T00:00:00.0000000+00:00 + untilDate: 9999-12-31T23:59:59.9999999+00:00 - detail: BlockIdScope: SomeScope BlockIdCode: SomeCode @@ -45123,6 +45474,9 @@ paths: requestIdModified: abcdef-qwert-yuiop-98134 asAtVersionNumber: 1 action: OrderAddedToBlock + effectiveRange: + fromDate: 0001-01-01T00:00:00.0000000+00:00 + untilDate: 9999-12-31T23:59:59.9999999+00:00 href: https://myco.lusid.com/api/api/ordermanagement/order/SomeScope/SomeCode/$history links: [] schema: @@ -45141,6 +45495,9 @@ paths: labelValue: "10" newValue: labelValue: "15" + effectiveRange: + fromDate: 0001-01-01T00:00:00.0000000+00:00 + untilDate: 9999-12-31T23:59:59.9999999+00:00 - detail: BlockIdScope: SomeScope BlockIdCode: SomeCode @@ -45150,6 +45507,9 @@ paths: requestIdModified: abcdef-qwert-yuiop-98134 asAtVersionNumber: 1 action: OrderAddedToBlock + effectiveRange: + fromDate: 0001-01-01T00:00:00.0000000+00:00 + untilDate: 9999-12-31T23:59:59.9999999+00:00 href: https://myco.lusid.com/api/api/ordermanagement/order/SomeScope/SomeCode/$history links: [] schema: @@ -104928,82 +105288,158 @@ components: pnL: key: 1.4658129805029452 shareClassData: - key: - shareClassDetails: - domCurrency: domCurrency - instrumentScope: instrumentScope - instrumentActive: true - lusidInstrumentId: lusidInstrumentId - shareClassBreakdown: + - shareClassDetails: + domCurrency: domCurrency + instrumentScope: instrumentScope + instrumentActive: true + lusidInstrumentId: lusidInstrumentId + shortCode: shortCode + shareClassBreakdown: + unitisation: + sharesInIssue: 1.0246457001441578 + unitPrice: 1.4894159098541704 + netDealingUnits: 6.84685269835264 + shareClassToFundFxRate: 9.965781217890562 + fees: + key: + calculationBase: 5.637376656633329 + totalAccrual: 9.301444243932576 + amount: 2.3021358869347655 + code: code + effectiveAt: 2000-01-23T04:56:07.000+00:00 + name: name + links: + - method: method + description: description + href: https://openapi-generator.tech + relation: relation + - method: method + description: description + href: https://openapi-generator.tech + relation: relation + previousAccrual: 7.061401241503109 + nav: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + miscellaneous: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + dealing: + classDealingUnits: + key: + value: 5.025004791520295 + classDealing: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + backOut: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + capitalRatio: 9.369310271410669 + previousShareClassBreakdown: unitisation: sharesInIssue: 1.0246457001441578 unitPrice: 1.4894159098541704 netDealingUnits: 6.84685269835264 - shareClassToFundFxRate: 9.965781217890562 - fees: - key: - calculationBase: 5.637376656633329 - totalAccrual: 9.301444243932576 - amount: 2.3021358869347655 - code: code - effectiveAt: 2000-01-23T04:56:07.000+00:00 - name: name - links: - - method: method - description: description - href: https://openapi-generator.tech - relation: relation - - method: method - description: description - href: https://openapi-generator.tech - relation: relation - previousAccrual: 7.061401241503109 + shareClassToFundFxRate: 6.683562403749608 nav: - fundCurrencyAmount: 1.1730742509559433 - shareClassCurrencyAmount: 4.965218492984954 - miscellaneous: + amount: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + gav: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + pnL: + classPnl: key: fundCurrencyAmount: 1.1730742509559433 shareClassCurrencyAmount: 4.965218492984954 - dealing: - classDealingUnits: - key: - value: 5.025004791520295 - classDealing: - key: - fundCurrencyAmount: 1.1730742509559433 - shareClassCurrencyAmount: 4.965218492984954 - backOut: + apportionedNonClassSpecificPnl: key: fundCurrencyAmount: 1.1730742509559433 shareClassCurrencyAmount: 4.965218492984954 - capitalRatio: 9.369310271410669 - previousShareClassBreakdown: - unitisation: - sharesInIssue: 1.0246457001441578 - unitPrice: 1.4894159098541704 - netDealingUnits: 6.84685269835264 - shareClassToFundFxRate: 6.683562403749608 - nav: - amount: - fundCurrencyAmount: 1.1730742509559433 - shareClassCurrencyAmount: 4.965218492984954 - gav: + totalPnl: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + - shareClassDetails: + domCurrency: domCurrency + instrumentScope: instrumentScope + instrumentActive: true + lusidInstrumentId: lusidInstrumentId + shortCode: shortCode + shareClassBreakdown: + unitisation: + sharesInIssue: 1.0246457001441578 + unitPrice: 1.4894159098541704 + netDealingUnits: 6.84685269835264 + shareClassToFundFxRate: 9.965781217890562 + fees: + key: + calculationBase: 5.637376656633329 + totalAccrual: 9.301444243932576 + amount: 2.3021358869347655 + code: code + effectiveAt: 2000-01-23T04:56:07.000+00:00 + name: name + links: + - method: method + description: description + href: https://openapi-generator.tech + relation: relation + - method: method + description: description + href: https://openapi-generator.tech + relation: relation + previousAccrual: 7.061401241503109 + nav: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + miscellaneous: + key: fundCurrencyAmount: 1.1730742509559433 shareClassCurrencyAmount: 4.965218492984954 - pnL: - classPnl: - key: - fundCurrencyAmount: 1.1730742509559433 - shareClassCurrencyAmount: 4.965218492984954 - apportionedNonClassSpecificPnl: - key: - fundCurrencyAmount: 1.1730742509559433 - shareClassCurrencyAmount: 4.965218492984954 - totalPnl: - key: - fundCurrencyAmount: 1.1730742509559433 - shareClassCurrencyAmount: 4.965218492984954 + dealing: + classDealingUnits: + key: + value: 5.025004791520295 + classDealing: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + backOut: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + capitalRatio: 9.369310271410669 + previousShareClassBreakdown: + unitisation: + sharesInIssue: 1.0246457001441578 + unitPrice: 1.4894159098541704 + netDealingUnits: 6.84685269835264 + shareClassToFundFxRate: 6.683562403749608 + nav: + amount: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + gav: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + pnL: + classPnl: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + apportionedNonClassSpecificPnl: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + totalPnl: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 links: - method: method description: description @@ -105110,82 +105546,158 @@ components: pnL: key: 1.4658129805029452 shareClassData: - key: - shareClassDetails: - domCurrency: domCurrency - instrumentScope: instrumentScope - instrumentActive: true - lusidInstrumentId: lusidInstrumentId - shareClassBreakdown: + - shareClassDetails: + domCurrency: domCurrency + instrumentScope: instrumentScope + instrumentActive: true + lusidInstrumentId: lusidInstrumentId + shortCode: shortCode + shareClassBreakdown: + unitisation: + sharesInIssue: 1.0246457001441578 + unitPrice: 1.4894159098541704 + netDealingUnits: 6.84685269835264 + shareClassToFundFxRate: 9.965781217890562 + fees: + key: + calculationBase: 5.637376656633329 + totalAccrual: 9.301444243932576 + amount: 2.3021358869347655 + code: code + effectiveAt: 2000-01-23T04:56:07.000+00:00 + name: name + links: + - method: method + description: description + href: https://openapi-generator.tech + relation: relation + - method: method + description: description + href: https://openapi-generator.tech + relation: relation + previousAccrual: 7.061401241503109 + nav: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + miscellaneous: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + dealing: + classDealingUnits: + key: + value: 5.025004791520295 + classDealing: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + backOut: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + capitalRatio: 9.369310271410669 + previousShareClassBreakdown: unitisation: sharesInIssue: 1.0246457001441578 unitPrice: 1.4894159098541704 netDealingUnits: 6.84685269835264 - shareClassToFundFxRate: 9.965781217890562 - fees: - key: - calculationBase: 5.637376656633329 - totalAccrual: 9.301444243932576 - amount: 2.3021358869347655 - code: code - effectiveAt: 2000-01-23T04:56:07.000+00:00 - name: name - links: - - method: method - description: description - href: https://openapi-generator.tech - relation: relation - - method: method - description: description - href: https://openapi-generator.tech - relation: relation - previousAccrual: 7.061401241503109 + shareClassToFundFxRate: 6.683562403749608 nav: - fundCurrencyAmount: 1.1730742509559433 - shareClassCurrencyAmount: 4.965218492984954 - miscellaneous: + amount: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + gav: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + pnL: + classPnl: key: fundCurrencyAmount: 1.1730742509559433 shareClassCurrencyAmount: 4.965218492984954 - dealing: - classDealingUnits: - key: - value: 5.025004791520295 - classDealing: - key: - fundCurrencyAmount: 1.1730742509559433 - shareClassCurrencyAmount: 4.965218492984954 - backOut: + apportionedNonClassSpecificPnl: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + totalPnl: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + - shareClassDetails: + domCurrency: domCurrency + instrumentScope: instrumentScope + instrumentActive: true + lusidInstrumentId: lusidInstrumentId + shortCode: shortCode + shareClassBreakdown: + unitisation: + sharesInIssue: 1.0246457001441578 + unitPrice: 1.4894159098541704 + netDealingUnits: 6.84685269835264 + shareClassToFundFxRate: 9.965781217890562 + fees: + key: + calculationBase: 5.637376656633329 + totalAccrual: 9.301444243932576 + amount: 2.3021358869347655 + code: code + effectiveAt: 2000-01-23T04:56:07.000+00:00 + name: name + links: + - method: method + description: description + href: https://openapi-generator.tech + relation: relation + - method: method + description: description + href: https://openapi-generator.tech + relation: relation + previousAccrual: 7.061401241503109 + nav: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + miscellaneous: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + dealing: + classDealingUnits: + key: + value: 5.025004791520295 + classDealing: key: fundCurrencyAmount: 1.1730742509559433 shareClassCurrencyAmount: 4.965218492984954 - capitalRatio: 9.369310271410669 - previousShareClassBreakdown: - unitisation: - sharesInIssue: 1.0246457001441578 - unitPrice: 1.4894159098541704 - netDealingUnits: 6.84685269835264 - shareClassToFundFxRate: 6.683562403749608 - nav: - amount: - fundCurrencyAmount: 1.1730742509559433 - shareClassCurrencyAmount: 4.965218492984954 - gav: + backOut: + key: fundCurrencyAmount: 1.1730742509559433 shareClassCurrencyAmount: 4.965218492984954 - pnL: - classPnl: - key: - fundCurrencyAmount: 1.1730742509559433 - shareClassCurrencyAmount: 4.965218492984954 - apportionedNonClassSpecificPnl: - key: - fundCurrencyAmount: 1.1730742509559433 - shareClassCurrencyAmount: 4.965218492984954 - totalPnl: - key: - fundCurrencyAmount: 1.1730742509559433 - shareClassCurrencyAmount: 4.965218492984954 + capitalRatio: 9.369310271410669 + previousShareClassBreakdown: + unitisation: + sharesInIssue: 1.0246457001441578 + unitPrice: 1.4894159098541704 + netDealingUnits: 6.84685269835264 + shareClassToFundFxRate: 6.683562403749608 + nav: + amount: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + gav: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + pnL: + classPnl: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + apportionedNonClassSpecificPnl: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + totalPnl: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 links: - method: method description: description @@ -105792,7 +106304,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -105830,6 +106342,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - dividendCurrency @@ -107540,7 +108053,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -107578,6 +108091,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - amountReduced @@ -107882,6 +108396,7 @@ components: scope: scope instrumentIdentifiers: key: instrumentIdentifiers + completeness: completeness lusidInstrumentId: lusidInstrumentId properties: - value: @@ -108398,6 +108913,7 @@ components: scope: scope instrumentIdentifiers: key: instrumentIdentifiers + completeness: completeness lusidInstrumentId: lusidInstrumentId properties: - value: @@ -108562,7 +109078,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -108604,6 +109120,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - basketName @@ -110695,7 +111212,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -110737,6 +111254,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - couponRate @@ -110897,7 +111415,74 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" + enum: + - TransitionEvent + - InformationalEvent + - OpenEvent + - CloseEvent + - StockSplitEvent + - BondDefaultEvent + - CashDividendEvent + - AmortisationEvent + - CashFlowEvent + - ExerciseEvent + - ResetEvent + - TriggerEvent + - RawVendorEvent + - InformationalErrorEvent + - BondCouponEvent + - DividendReinvestmentEvent + - AccumulationEvent + - BondPrincipalEvent + - DividendOptionEvent + - MaturityEvent + - FxForwardSettlementEvent + - ExpiryEvent + - ScripDividendEvent + - StockDividendEvent + - ReverseStockSplitEvent + - CapitalDistributionEvent + - SpinOffEvent + - MergerEvent + - FutureExpiryEvent + - SwapCashFlowEvent + - SwapPrincipalEvent + - CreditPremiumCashFlowEvent + - CdsCreditEvent + - CdxCreditEvent + - MbsCouponEvent + - MbsPrincipalEvent + - BonusIssueEvent + type: string + required: + - couponPerUnit + - currency + - exDate + - instrumentEventType + - paymentDate + type: object + description: "Definition of a Bond Coupon Event\r\nThis is an event that describes\ + \ the occurence of a cashflow due to a fixed rate bond coupon payment." + BondDefaultEvent: + allOf: + - $ref: '#/components/schemas/InstrumentEvent' + - properties: + effectiveDate: + description: The date the bond default occurred. + format: date-time + type: string + instrumentEventType: + description: "The Type of Event. The available values are: TransitionEvent,\ + \ InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent,\ + \ CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent,\ + \ ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent,\ + \ BondCouponEvent, DividendReinvestmentEvent, AccumulationEvent, BondPrincipalEvent,\ + \ DividendOptionEvent, MaturityEvent, FxForwardSettlementEvent, ExpiryEvent,\ + \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ + \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ + \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -110935,24 +111520,33 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - - couponPerUnit - - currency - - exDate + - effectiveDate - instrumentEventType - - paymentDate type: object - description: "Definition of a Bond Coupon Event\r\nThis is an event that describes\ - \ the occurence of a cashflow due to a fixed rate bond coupon payment." - BondDefaultEvent: + description: "Indicates when an issuer has defaulted on an obligation due to\ + \ technical default, missed payments, or bankruptcy filing." + BondPrincipalEvent: allOf: - $ref: '#/components/schemas/InstrumentEvent' - properties: - effectiveDate: - description: The date the bond default occurred. + currency: + description: Currency of the principal payment + type: string + exDate: + description: Ex-Dividend date of the principal payment + format: date-time + type: string + paymentDate: + description: Payment date of the principal payment format: date-time type: string + principalPerUnit: + description: Principal per unit + format: double + type: number instrumentEventType: description: "The Type of Event. The available values are: TransitionEvent,\ \ InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent,\ @@ -110963,7 +111557,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -111001,32 +111595,70 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - - effectiveDate + - currency + - exDate - instrumentEventType + - paymentDate + - principalPerUnit type: object - description: "Indicates when an issuer has defaulted on an obligation due to\ - \ technical default, missed payments, or bankruptcy filing." - BondPrincipalEvent: + description: "Definition of a Bond Principal Event\r\nThis is an event that\ + \ describes the occurence of a cashflow due to the principal payment." + BonusIssueEvent: allOf: - $ref: '#/components/schemas/InstrumentEvent' - properties: - currency: - description: Currency of the principal payment + announcementDate: + description: The date the Bonus Issue is announced. + format: date-time + nullable: true type: string exDate: - description: Ex-Dividend date of the principal payment + description: The ex-date of the Bonus Issue. + format: date-time + type: string + recordDate: + description: The record date of the Bonus Issue. format: date-time + nullable: true type: string paymentDate: - description: Payment date of the principal payment + description: The date the Bonus Issue is executed. format: date-time type: string - principalPerUnit: - description: Principal per unit + fractionalUnitsCashPrice: + description: Optional. Used in calculating cash-in-lieu of fractional + shares. format: double + nullable: true type: number + fractionalUnitsCashCurrency: + description: Optional. Used in calculating cash-in-lieu of fractional + shares. + nullable: true + type: string + securityOfferElections: + description: "Possible SecurityElections for this Bonus Issue event, if\ + \ any." + items: + $ref: '#/components/schemas/SecurityOfferElection' + nullable: true + type: array + cashOfferElections: + description: "Possible CashOfferElections for this Bonus Issue event,\ + \ if any." + items: + $ref: '#/components/schemas/CashOfferElection' + nullable: true + type: array + lapseElections: + description: "Possible LapseElections for this Bonus Issue event, if any." + items: + $ref: '#/components/schemas/LapseElection' + nullable: true + type: array instrumentEventType: description: "The Type of Event. The available values are: TransitionEvent,\ \ InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent,\ @@ -111037,7 +111669,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -111075,16 +111707,14 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - - currency - exDate - instrumentEventType - paymentDate - - principalPerUnit type: object - description: "Definition of a Bond Principal Event\r\nThis is an event that\ - \ describes the occurence of a cashflow due to the principal payment." + description: Representation of a Bonus Issue corporate action. BookTransactionsRequest: additionalProperties: false example: @@ -112474,7 +113104,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -112516,6 +113146,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - capFloorType @@ -112566,7 +113197,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -112604,6 +113235,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - cashElections @@ -112632,7 +113264,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -112674,6 +113306,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - amount @@ -112801,7 +113434,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -112839,6 +113472,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - cashElections @@ -112907,7 +113541,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -112945,6 +113579,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - cashFlowValue @@ -113148,7 +113783,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -113190,6 +113825,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - domCcy @@ -113228,7 +113864,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -113266,6 +113902,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - effectiveDate @@ -113446,7 +114083,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -113488,6 +114125,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - couponRate @@ -113574,7 +114212,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -113612,6 +114250,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - constituentWeight @@ -113759,6 +114398,78 @@ components: - Update - Delete type: string + ChangeInterval: + additionalProperties: false + description: Defines a change that occured for an entity + example: + asAtModified: 2000-01-23T04:56:07.000+00:00 + effectiveRange: + fromDate: 2000-01-23T04:56:07.000+00:00 + untilDate: 2000-01-23T04:56:07.000+00:00 + newValue: + metricValue: + unit: unit + value: 0.8008281904610115 + labelValue: labelValue + labelValueSet: + values: + - values + - values + userIdModified: userIdModified + asAtVersionNumber: 0 + stagedModificationIdModified: stagedModificationIdModified + action: action + attributeName: attributeName + requestIdModified: requestIdModified + previousValue: + metricValue: + unit: unit + value: 0.8008281904610115 + labelValue: labelValue + labelValueSet: + values: + - values + - values + properties: + asAtModified: + description: The date/time of the change. + format: date-time + type: string + userIdModified: + description: The unique identifier of the user that made the change. + nullable: true + type: string + requestIdModified: + description: The unique identifier of the request that the changes were + part of. + nullable: true + type: string + asAtVersionNumber: + description: "The version number for the entity (the entity was created\ + \ at version 1). This may refer to the version number of a changed related\ + \ entity, not a change for the entity itself." + format: int32 + type: integer + stagedModificationIdModified: + description: The id of the staged modification that was approved. Will be + null if the change didn't come from a staged modification. + nullable: true + type: string + action: + description: The action performed on the entity. + nullable: true + type: string + attributeName: + description: The name of the field or property that has been changed. + nullable: true + type: string + previousValue: + $ref: '#/components/schemas/PropertyValue' + newValue: + $ref: '#/components/schemas/PropertyValue' + effectiveRange: + $ref: '#/components/schemas/EffectiveRange' + type: object ChangeIntervalWithOrderManagementDetail: additionalProperties: false description: "Defines a change that occured for an entity, with extra detail\ @@ -113846,7 +114557,7 @@ components: newValue: $ref: '#/components/schemas/PropertyValue' effectiveRange: - $ref: '#/components/schemas/StagedModificationEffectiveRange' + $ref: '#/components/schemas/EffectiveRange' type: object ChangeItem: additionalProperties: false @@ -114416,7 +115127,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -114454,6 +115165,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - instrumentEventType @@ -114922,7 +115634,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -114964,6 +115676,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - instrumentType @@ -117709,7 +118422,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -117751,6 +118464,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - code @@ -120583,7 +121297,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -120625,6 +121339,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - couponRate @@ -120672,7 +121387,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -120710,6 +121425,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - currency @@ -124888,7 +125604,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -124926,6 +125642,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - cashElections @@ -124983,7 +125700,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -125021,6 +125738,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - cashElections @@ -125137,6 +125855,21 @@ components: - economicDependency - metricValue type: object + EffectiveRange: + additionalProperties: false + example: + fromDate: 2000-01-23T04:56:07.000+00:00 + untilDate: 2000-01-23T04:56:07.000+00:00 + properties: + fromDate: + description: The effective from datetime that this range applies to. + format: date-time + type: string + untilDate: + description: The effective from datetime that this range applies to. + format: date-time + type: string + type: object ElectionSpecification: additionalProperties: false example: @@ -125246,7 +125979,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -125288,6 +126021,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - domCcy @@ -125514,7 +126248,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -125556,6 +126290,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - code @@ -125636,7 +126371,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -125678,6 +126413,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - code @@ -125891,7 +126627,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -125933,6 +126669,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - contractDetails @@ -126420,7 +127157,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -126458,6 +127195,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - anchorDate @@ -126491,7 +127229,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -126533,6 +127271,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - content @@ -126759,7 +127498,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -126797,6 +127536,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - expiryDate @@ -128091,7 +128831,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -128133,6 +128873,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - instrumentType @@ -128266,7 +129007,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -128308,6 +129049,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - domCcy @@ -128365,7 +129107,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -128407,6 +129149,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - instrumentType @@ -128742,7 +129485,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -128784,6 +129527,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - domCcy @@ -129298,7 +130042,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -129340,6 +130084,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - instrumentType @@ -129650,7 +130395,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -129692,6 +130437,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - distributionPaymentType @@ -129886,7 +130632,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -129928,6 +130674,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - contractDetails @@ -129965,7 +130712,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -130003,6 +130750,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - expiryDate @@ -130253,7 +131001,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -130295,6 +131043,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - domAmount @@ -130705,7 +131454,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -130743,6 +131492,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - domAmountPerUnit @@ -131051,7 +131801,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -131093,6 +131843,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - domCcy @@ -131178,7 +131929,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -131220,6 +131971,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - farFxForward @@ -134813,7 +135565,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -134855,6 +135607,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - calculationType @@ -134995,7 +135748,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -135037,6 +135790,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - couponRate @@ -135080,7 +135834,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -135122,6 +135876,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - fixedLeg @@ -135165,7 +135920,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -135203,6 +135958,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - effectiveAt @@ -135246,7 +136002,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -135284,6 +136040,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - anchorDate @@ -136910,7 +137667,7 @@ components: \ StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -136948,6 +137705,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - instrumentEventType @@ -136989,6 +137747,7 @@ components: scope: scope instrumentIdentifiers: key: instrumentIdentifiers + completeness: completeness lusidInstrumentId: lusidInstrumentId properties: - value: @@ -137042,6 +137801,12 @@ components: type: string eventDateRange: $ref: '#/components/schemas/EventDateRange' + completeness: + description: "Is the event Economically Complete, or is it missing some\ + \ DataDependent fields (Incomplete)." + nullable: true + readOnly: true + type: string instrumentEvent: $ref: '#/components/schemas/InstrumentEvent' properties: @@ -137278,6 +138043,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string InstrumentIdTypeDescriptor: additionalProperties: false @@ -137333,7 +138099,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -137375,6 +138141,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - instrumentType @@ -138122,6 +138889,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string InterestRateSwap: allOf: @@ -138174,7 +138942,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -138216,6 +138984,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - instrumentType @@ -138268,7 +139037,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -138310,6 +139079,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - deliveryMethod @@ -138809,6 +139579,26 @@ components: required: - values type: object + LapseElection: + additionalProperties: false + description: Lapse election. + properties: + electionKey: + description: Unique key associated to this election + minLength: 1 + type: string + isDefault: + description: "Is this election automatically applied in the absence of an\ + \ election having been made.\r\nMay only be true for one election if multiple\ + \ are provided." + type: boolean + isChosen: + description: Is this the election that has been explicitly chosen from multiple + options. + type: boolean + required: + - electionKey + type: object LegalEntity: additionalProperties: false description: Representation of Legal Entity on LUSID API @@ -139601,7 +140391,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -139643,6 +140433,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - instrumentType @@ -140729,6 +141520,111 @@ components: - quoteType - value type: object + MasteredInstrument: + allOf: + - $ref: '#/components/schemas/LusidInstrument' + - properties: + identifiers: + additionalProperties: + type: string + description: Dictionary of identifiers of the mastered instrument + type: object + assetClass: + description: "Asset class of the mastered instrument - read only field\r\ + \n\r\nSupported string (enumeration) values are: [InterestRates, FX,\ + \ Inflation, Equities, Credit, Commodities, Money]." + nullable: true + readOnly: true + type: string + masteredDomCcy: + description: DomCcy of the Instrument that Mastered Instrument points + to - read only field + nullable: true + readOnly: true + type: string + masteredInstrumentType: + description: Type of the Instrument that Mastered Instrument points to + - read only field + nullable: true + readOnly: true + type: string + masteredLusidInstrumentId: + description: Luid of the Instrument that Mastered Instrument points to + - read only field + nullable: true + readOnly: true + type: string + masteredName: + description: Name of the Instrument that Mastered Instrument points to + - read only field + nullable: true + readOnly: true + type: string + masteredScope: + description: Scope of the Instrument that Mastered Instrument points to + - read only field + nullable: true + readOnly: true + type: string + instrumentType: + description: "The available values are: QuotedSecurity, InterestRateSwap,\ + \ FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap,\ + \ InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg,\ + \ Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual,\ + \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ + \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ + \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ + \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ + \ Cash, MasteredInstrument" + enum: + - QuotedSecurity + - InterestRateSwap + - FxForward + - Future + - ExoticInstrument + - FxOption + - CreditDefaultSwap + - InterestRateSwaption + - Bond + - EquityOption + - FixedLeg + - FloatingLeg + - BespokeCashFlowsLeg + - Unknown + - TermDeposit + - ContractForDifference + - EquitySwap + - CashPerpetual + - CapFloor + - CashSettled + - CdsIndex + - Basket + - FundingLeg + - FxSwap + - ForwardRateAgreement + - SimpleInstrument + - Repo + - Equity + - ExchangeTradedOption + - ReferenceInstrument + - ComplexBond + - InflationLinkedBond + - InflationSwap + - SimpleCashFlowLoan + - TotalReturnSwap + - InflationLeg + - FundShareClass + - FlexibleLoan + - UnsettledCash + - Cash + - MasteredInstrument + type: string + required: + - identifiers + - instrumentType + type: object + description: LUSID representation of a reference to another instrument that + has already been upserted (Mastered) MatchCriterion: additionalProperties: false description: "A condition to be evaluated.\r\nEach supported CriterionType has\ @@ -140767,7 +141663,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -140805,6 +141701,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - instrumentEventType @@ -140842,7 +141739,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -140880,6 +141777,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - couponPerUnit @@ -140921,7 +141819,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -140959,6 +141857,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - currency @@ -141036,7 +141935,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -141074,6 +141973,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - exDate @@ -141608,7 +142508,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -141646,6 +142546,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - instrumentEventType @@ -148556,6 +149457,7 @@ components: scope: scope instrumentIdentifiers: key: instrumentIdentifiers + completeness: completeness lusidInstrumentId: lusidInstrumentId properties: - value: @@ -148593,6 +149495,7 @@ components: scope: scope instrumentIdentifiers: key: instrumentIdentifiers + completeness: completeness lusidInstrumentId: lusidInstrumentId properties: - value: @@ -160376,7 +161279,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -160414,6 +161317,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - effectiveAt @@ -162025,7 +162929,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -162067,6 +162971,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - instrumentId @@ -162861,7 +163766,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -162903,6 +163808,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - accrualBasis @@ -162964,7 +163870,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -163002,6 +163908,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - fixingDate @@ -163782,6 +164689,7 @@ components: scope: scope instrumentIdentifiers: key: instrumentIdentifiers + completeness: completeness lusidInstrumentId: lusidInstrumentId properties: - value: @@ -164298,6 +165206,7 @@ components: scope: scope instrumentIdentifiers: key: instrumentIdentifiers + completeness: completeness lusidInstrumentId: lusidInstrumentId properties: - value: @@ -164353,6 +165262,7 @@ components: scope: scope instrumentIdentifiers: key: instrumentIdentifiers + completeness: completeness lusidInstrumentId: lusidInstrumentId properties: - value: @@ -164869,6 +165779,7 @@ components: scope: scope instrumentIdentifiers: key: instrumentIdentifiers + completeness: completeness lusidInstrumentId: lusidInstrumentId properties: - value: @@ -165752,6 +166663,101 @@ components: required: - values type: object + ResourceListOfChangeInterval: + additionalProperties: false + example: + previousPage: previousPage + nextPage: nextPage + values: + - asAtModified: 2000-01-23T04:56:07.000+00:00 + effectiveRange: + fromDate: 2000-01-23T04:56:07.000+00:00 + untilDate: 2000-01-23T04:56:07.000+00:00 + newValue: + metricValue: + unit: unit + value: 0.8008281904610115 + labelValue: labelValue + labelValueSet: + values: + - values + - values + userIdModified: userIdModified + asAtVersionNumber: 0 + stagedModificationIdModified: stagedModificationIdModified + action: action + attributeName: attributeName + requestIdModified: requestIdModified + previousValue: + metricValue: + unit: unit + value: 0.8008281904610115 + labelValue: labelValue + labelValueSet: + values: + - values + - values + - asAtModified: 2000-01-23T04:56:07.000+00:00 + effectiveRange: + fromDate: 2000-01-23T04:56:07.000+00:00 + untilDate: 2000-01-23T04:56:07.000+00:00 + newValue: + metricValue: + unit: unit + value: 0.8008281904610115 + labelValue: labelValue + labelValueSet: + values: + - values + - values + userIdModified: userIdModified + asAtVersionNumber: 0 + stagedModificationIdModified: stagedModificationIdModified + action: action + attributeName: attributeName + requestIdModified: requestIdModified + previousValue: + metricValue: + unit: unit + value: 0.8008281904610115 + labelValue: labelValue + labelValueSet: + values: + - values + - values + links: + - method: method + description: description + href: https://openapi-generator.tech + relation: relation + - method: method + description: description + href: https://openapi-generator.tech + relation: relation + href: https://openapi-generator.tech + properties: + values: + items: + $ref: '#/components/schemas/ChangeInterval' + type: array + href: + format: uri + nullable: true + type: string + links: + items: + $ref: '#/components/schemas/Link' + nullable: true + type: array + nextPage: + nullable: true + type: string + previousPage: + nullable: true + type: string + required: + - values + type: object ResourceListOfChangeIntervalWithOrderManagementDetail: additionalProperties: false example: @@ -168140,6 +169146,7 @@ components: scope: scope instrumentIdentifiers: key: instrumentIdentifiers + completeness: completeness lusidInstrumentId: lusidInstrumentId properties: - value: @@ -168177,6 +169184,7 @@ components: scope: scope instrumentIdentifiers: key: instrumentIdentifiers + completeness: completeness lusidInstrumentId: lusidInstrumentId properties: - value: @@ -174172,7 +175180,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -174210,6 +175218,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - exDate @@ -174453,7 +175462,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -174491,6 +175500,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - exDate @@ -175154,6 +176164,7 @@ components: instrumentScope: instrumentScope instrumentActive: true lusidInstrumentId: lusidInstrumentId + shortCode: shortCode shareClassBreakdown: unitisation: sharesInIssue: 1.0246457001441578 @@ -175267,6 +176278,7 @@ components: instrumentScope: instrumentScope instrumentActive: true lusidInstrumentId: lusidInstrumentId + shortCode: shortCode properties: lusidInstrumentId: description: "LUSID's internal unique instrument identifier, resolved from\ @@ -175283,6 +176295,13 @@ components: nullable: true pattern: "^[a-zA-Z0-9\\-_]+$" type: string + shortCode: + description: The unique code within the fund for the share class instrument. + maxLength: 64 + minLength: 1 + nullable: true + pattern: "^[a-zA-Z0-9\\-_]+$" + type: string domCurrency: description: The domestic currency of the share class instrument nullable: true @@ -175615,7 +176634,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -175657,6 +176676,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - domCcy @@ -175716,7 +176736,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -175758,6 +176778,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - assetClass @@ -175850,7 +176871,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -175888,6 +176909,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - exDate @@ -176089,11 +177111,11 @@ components: untilDate: 2000-01-23T04:56:07.000+00:00 properties: fromDate: - description: Time the decision request is made. + description: The datetime that this requested change is effective from. format: date-time type: string untilDate: - description: ID of user that approved the request. + description: The datetime that this requested change is effective until. format: date-time type: string type: object @@ -176540,7 +177562,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -176578,6 +177600,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - exDate @@ -176633,7 +177656,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -176671,6 +177694,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - exDate @@ -176988,7 +178012,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -177026,6 +178050,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - currency @@ -177066,7 +178091,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -177104,6 +178129,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - currency @@ -177439,7 +178465,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -177481,6 +178507,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - contractSize @@ -177523,7 +178550,7 @@ components: \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ \ TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash,\ - \ Cash" + \ Cash, MasteredInstrument" enum: - QuotedSecurity - InterestRateSwap @@ -177565,6 +178592,7 @@ components: - FlexibleLoan - UnsettledCash - Cash + - MasteredInstrument type: string required: - assetLeg @@ -181255,7 +182283,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -181293,6 +182321,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - instrumentEventType @@ -181899,7 +182928,7 @@ components: \ ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent,\ \ SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent,\ \ CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent,\ - \ MbsPrincipalEvent" + \ MbsPrincipalEvent, BonusIssueEvent" enum: - TransitionEvent - InformationalEvent @@ -181937,6 +182966,7 @@ components: - CdxCreditEvent - MbsCouponEvent - MbsPrincipalEvent + - BonusIssueEvent type: string required: - instrumentEventType @@ -184710,6 +185740,7 @@ components: scope: scope instrumentIdentifiers: key: instrumentIdentifiers + completeness: completeness lusidInstrumentId: lusidInstrumentId properties: - value: @@ -186955,6 +187986,8 @@ components: properties: end: $ref: '#/components/schemas/DateOrDiaryEntry' + required: + - end type: object ValuationPointDataRequest: additionalProperties: false @@ -187007,82 +188040,158 @@ components: pnL: key: 1.4658129805029452 shareClassData: - key: - shareClassDetails: - domCurrency: domCurrency - instrumentScope: instrumentScope - instrumentActive: true - lusidInstrumentId: lusidInstrumentId - shareClassBreakdown: + - shareClassDetails: + domCurrency: domCurrency + instrumentScope: instrumentScope + instrumentActive: true + lusidInstrumentId: lusidInstrumentId + shortCode: shortCode + shareClassBreakdown: + unitisation: + sharesInIssue: 1.0246457001441578 + unitPrice: 1.4894159098541704 + netDealingUnits: 6.84685269835264 + shareClassToFundFxRate: 9.965781217890562 + fees: + key: + calculationBase: 5.637376656633329 + totalAccrual: 9.301444243932576 + amount: 2.3021358869347655 + code: code + effectiveAt: 2000-01-23T04:56:07.000+00:00 + name: name + links: + - method: method + description: description + href: https://openapi-generator.tech + relation: relation + - method: method + description: description + href: https://openapi-generator.tech + relation: relation + previousAccrual: 7.061401241503109 + nav: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + miscellaneous: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + dealing: + classDealingUnits: + key: + value: 5.025004791520295 + classDealing: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + backOut: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + capitalRatio: 9.369310271410669 + previousShareClassBreakdown: unitisation: sharesInIssue: 1.0246457001441578 unitPrice: 1.4894159098541704 netDealingUnits: 6.84685269835264 - shareClassToFundFxRate: 9.965781217890562 - fees: - key: - calculationBase: 5.637376656633329 - totalAccrual: 9.301444243932576 - amount: 2.3021358869347655 - code: code - effectiveAt: 2000-01-23T04:56:07.000+00:00 - name: name - links: - - method: method - description: description - href: https://openapi-generator.tech - relation: relation - - method: method - description: description - href: https://openapi-generator.tech - relation: relation - previousAccrual: 7.061401241503109 + shareClassToFundFxRate: 6.683562403749608 nav: - fundCurrencyAmount: 1.1730742509559433 - shareClassCurrencyAmount: 4.965218492984954 - miscellaneous: + amount: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + gav: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + pnL: + classPnl: key: fundCurrencyAmount: 1.1730742509559433 shareClassCurrencyAmount: 4.965218492984954 - dealing: - classDealingUnits: - key: - value: 5.025004791520295 - classDealing: - key: - fundCurrencyAmount: 1.1730742509559433 - shareClassCurrencyAmount: 4.965218492984954 - backOut: + apportionedNonClassSpecificPnl: key: fundCurrencyAmount: 1.1730742509559433 shareClassCurrencyAmount: 4.965218492984954 - capitalRatio: 9.369310271410669 - previousShareClassBreakdown: - unitisation: - sharesInIssue: 1.0246457001441578 - unitPrice: 1.4894159098541704 - netDealingUnits: 6.84685269835264 - shareClassToFundFxRate: 6.683562403749608 - nav: - amount: - fundCurrencyAmount: 1.1730742509559433 - shareClassCurrencyAmount: 4.965218492984954 - gav: + totalPnl: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + - shareClassDetails: + domCurrency: domCurrency + instrumentScope: instrumentScope + instrumentActive: true + lusidInstrumentId: lusidInstrumentId + shortCode: shortCode + shareClassBreakdown: + unitisation: + sharesInIssue: 1.0246457001441578 + unitPrice: 1.4894159098541704 + netDealingUnits: 6.84685269835264 + shareClassToFundFxRate: 9.965781217890562 + fees: + key: + calculationBase: 5.637376656633329 + totalAccrual: 9.301444243932576 + amount: 2.3021358869347655 + code: code + effectiveAt: 2000-01-23T04:56:07.000+00:00 + name: name + links: + - method: method + description: description + href: https://openapi-generator.tech + relation: relation + - method: method + description: description + href: https://openapi-generator.tech + relation: relation + previousAccrual: 7.061401241503109 + nav: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + miscellaneous: + key: fundCurrencyAmount: 1.1730742509559433 shareClassCurrencyAmount: 4.965218492984954 - pnL: - classPnl: - key: - fundCurrencyAmount: 1.1730742509559433 - shareClassCurrencyAmount: 4.965218492984954 - apportionedNonClassSpecificPnl: - key: - fundCurrencyAmount: 1.1730742509559433 - shareClassCurrencyAmount: 4.965218492984954 - totalPnl: - key: - fundCurrencyAmount: 1.1730742509559433 - shareClassCurrencyAmount: 4.965218492984954 + dealing: + classDealingUnits: + key: + value: 5.025004791520295 + classDealing: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + backOut: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + capitalRatio: 9.369310271410669 + previousShareClassBreakdown: + unitisation: + sharesInIssue: 1.0246457001441578 + unitPrice: 1.4894159098541704 + netDealingUnits: 6.84685269835264 + shareClassToFundFxRate: 6.683562403749608 + nav: + amount: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + gav: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + pnL: + classPnl: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + apportionedNonClassSpecificPnl: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 + totalPnl: + key: + fundCurrencyAmount: 1.1730742509559433 + shareClassCurrencyAmount: 4.965218492984954 links: - method: method description: description @@ -187212,11 +188321,11 @@ components: fundValuationPointData: $ref: '#/components/schemas/FundValuationPointData' shareClassData: - additionalProperties: - $ref: '#/components/schemas/ShareClassData' description: The data for all share classes in fund. Share classes are identified by their short codes. - type: object + items: + $ref: '#/components/schemas/ShareClassData' + type: array valuationPointCode: description: The code of the valuation point. nullable: true diff --git a/sdk/docs/BonusIssueEvent.md b/sdk/docs/BonusIssueEvent.md new file mode 100644 index 00000000000..96fae3813b3 --- /dev/null +++ b/sdk/docs/BonusIssueEvent.md @@ -0,0 +1,25 @@ + + +# BonusIssueEvent + +Representation of a Bonus Issue corporate action. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**announcementDate** | **OffsetDateTime** | The date the Bonus Issue is announced. | [optional] | +|**exDate** | **OffsetDateTime** | The ex-date of the Bonus Issue. | | +|**recordDate** | **OffsetDateTime** | The record date of the Bonus Issue. | [optional] | +|**paymentDate** | **OffsetDateTime** | The date the Bonus Issue is executed. | | +|**fractionalUnitsCashPrice** | **java.math.BigDecimal** | Optional. Used in calculating cash-in-lieu of fractional shares. | [optional] | +|**fractionalUnitsCashCurrency** | **String** | Optional. Used in calculating cash-in-lieu of fractional shares. | [optional] | +|**securityOfferElections** | [**List<SecurityOfferElection>**](SecurityOfferElection.md) | Possible SecurityElections for this Bonus Issue event, if any. | [optional] | +|**cashOfferElections** | [**List<CashOfferElection>**](CashOfferElection.md) | Possible CashOfferElections for this Bonus Issue event, if any. | [optional] | +|**lapseElections** | [**List<LapseElection>**](LapseElection.md) | Possible LapseElections for this Bonus Issue event, if any. | [optional] | + + + +[Back to Model list](../README.md#documentation-for-models) • [Back to API list](../README.md#documentation-for-api-endpoints) • [Back to README](../README.md) + + diff --git a/sdk/docs/ChangeInterval.md b/sdk/docs/ChangeInterval.md new file mode 100644 index 00000000000..646772b2e90 --- /dev/null +++ b/sdk/docs/ChangeInterval.md @@ -0,0 +1,26 @@ + + +# ChangeInterval + +Defines a change that occured for an entity + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**asAtModified** | **OffsetDateTime** | The date/time of the change. | [optional] | +|**userIdModified** | **String** | The unique identifier of the user that made the change. | [optional] | +|**requestIdModified** | **String** | The unique identifier of the request that the changes were part of. | [optional] | +|**asAtVersionNumber** | **Integer** | The version number for the entity (the entity was created at version 1). This may refer to the version number of a changed related entity, not a change for the entity itself. | [optional] | +|**stagedModificationIdModified** | **String** | The id of the staged modification that was approved. Will be null if the change didn't come from a staged modification. | [optional] | +|**action** | **String** | The action performed on the entity. | [optional] | +|**attributeName** | **String** | The name of the field or property that has been changed. | [optional] | +|**previousValue** | [**PropertyValue**](PropertyValue.md) | | [optional] | +|**newValue** | [**PropertyValue**](PropertyValue.md) | | [optional] | +|**effectiveRange** | [**EffectiveRange**](EffectiveRange.md) | | [optional] | + + + +[Back to Model list](../README.md#documentation-for-models) • [Back to API list](../README.md#documentation-for-api-endpoints) • [Back to README](../README.md) + + diff --git a/sdk/docs/ChangeIntervalWithOrderManagementDetail.md b/sdk/docs/ChangeIntervalWithOrderManagementDetail.md index 0629cdfc5bb..deee1d51121 100644 --- a/sdk/docs/ChangeIntervalWithOrderManagementDetail.md +++ b/sdk/docs/ChangeIntervalWithOrderManagementDetail.md @@ -19,7 +19,7 @@ Defines a change that occured for an entity, with extra detail about the change |**attributeName** | **String** | The name of the field or property that has been changed. | [optional] | |**previousValue** | [**PropertyValue**](PropertyValue.md) | | [optional] | |**newValue** | [**PropertyValue**](PropertyValue.md) | | [optional] | -|**effectiveRange** | [**StagedModificationEffectiveRange**](StagedModificationEffectiveRange.md) | | [optional] | +|**effectiveRange** | [**EffectiveRange**](EffectiveRange.md) | | [optional] | diff --git a/sdk/docs/EffectiveRange.md b/sdk/docs/EffectiveRange.md new file mode 100644 index 00000000000..4fdadd4eeab --- /dev/null +++ b/sdk/docs/EffectiveRange.md @@ -0,0 +1,17 @@ + + +# EffectiveRange + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**fromDate** | **OffsetDateTime** | The effective from datetime that this range applies to. | [optional] | +|**untilDate** | **OffsetDateTime** | The effective from datetime that this range applies to. | [optional] | + + + +[Back to Model list](../README.md#documentation-for-models) • [Back to API list](../README.md#documentation-for-api-endpoints) • [Back to README](../README.md) + + diff --git a/sdk/docs/EntitiesApi.md b/sdk/docs/EntitiesApi.md index 90463c08218..3d6277a0952 100644 --- a/sdk/docs/EntitiesApi.md +++ b/sdk/docs/EntitiesApi.md @@ -6,6 +6,7 @@ All URIs are relative to *https://www.lusid.com/api* |------------- | ------------- | -------------| | [**getCustomEntityByEntityUniqueId**](EntitiesApi.md#getCustomEntityByEntityUniqueId) | **GET** /api/entities/customentities/{entityUniqueId} | [EXPERIMENTAL] GetCustomEntityByEntityUniqueId: Get a Custom Entity instance by its EntityUniqueId | | [**getDataTypeByEntityUniqueId**](EntitiesApi.md#getDataTypeByEntityUniqueId) | **GET** /api/entities/datatypes/{entityUniqueId} | [EXPERIMENTAL] GetDataTypeByEntityUniqueId: Get DataType by EntityUniqueId | +| [**getEntityHistory**](EntitiesApi.md#getEntityHistory) | **GET** /api/entities/{entityType}/{entityUniqueId}/history | [EXPERIMENTAL] GetEntityHistory: List an entity's history information | | [**getInstrumentByEntityUniqueId**](EntitiesApi.md#getInstrumentByEntityUniqueId) | **GET** /api/entities/instruments/{entityUniqueId} | [EXPERIMENTAL] GetInstrumentByEntityUniqueId: Get instrument by EntityUniqueId | | [**getPortfolioByEntityUniqueId**](EntitiesApi.md#getPortfolioByEntityUniqueId) | **GET** /api/entities/portfolios/{entityUniqueId} | [EXPERIMENTAL] GetPortfolioByEntityUniqueId: Get portfolio by EntityUniqueId | | [**getPortfolioChanges**](EntitiesApi.md#getPortfolioChanges) | **GET** /api/entities/changes/portfolios | GetPortfolioChanges: Get the next change to each portfolio in a scope. | @@ -205,6 +206,109 @@ public class EntitiesApiExample { [Back to top](#) • [Back to API list](../README.md#documentation-for-api-endpoints) • [Back to Model list](../README.md#documentation-for-models) • [Back to README](../README.md) +## getEntityHistory + +> ResourceListOfChangeInterval getEntityHistory(entityType, entityUniqueId, asAt, page, limit, filter, sortBy) + +[EXPERIMENTAL] GetEntityHistory: List an entity's history information + +Retrieve a page of an entity's change history up to a particular point in AsAt time. + +### Example + +```java +import com.finbourne.lusid.model.*; +import com.finbourne.lusid.api.EntitiesApi; +import com.finbourne.lusid.extensions.ApiConfigurationException; +import com.finbourne.lusid.extensions.ApiFactoryBuilder; +import com.finbourne.lusid.extensions.auth.FinbourneTokenException; + +import java.io.FileNotFoundException; +import java.io.PrintWriter; +import java.io.UnsupportedEncodingException; + +public class EntitiesApiExample { + + public static void main(String[] args) throws FileNotFoundException, UnsupportedEncodingException, ApiConfigurationException, FinbourneTokenException { + String fileName = "secrets.json"; + try(PrintWriter writer = new PrintWriter(fileName, "UTF-8")) { + writer.write("{" + + "\"api\": {" + + " \"tokenUrl\": \"\"," + + " \"lusidUrl\": \"https://.lusid.com/api\"," + + " \"username\": \"\"," + + " \"password\": \"\"," + + " \"clientId\": \"\"," + + " \"clientSecret\": \"\"" + + " }" + + "}"); + } + + // uncomment the below to use configuration overrides + // ConfigurationOptions opts = new ConfigurationOptions(); + // opts.setTotalTimeoutMs(2000); + + // uncomment the below to use an api factory with overrides + // ApiFactory apiFactory = ApiFactoryBuilder.build(fileName, opts); + // EntitiesApi apiInstance = apiFactory.build(EntitiesApi.class); + + EntitiesApi apiInstance = ApiFactoryBuilder.build(fileName).build(EntitiesApi.class); + String entityType = "entityType_example"; // String | The type of the entity to list the change history for. + String entityUniqueId = "entityUniqueId_example"; // String | The universally unique identifier of the entity. + OffsetDateTime asAt = OffsetDateTime.now(); // OffsetDateTime | The asAt datetime at which to list change history information. Defaults to return the change history at the latest datetime if not specified. + String page = "page_example"; // String | The pagination token to use to continue listing change history information from a previous call to list change history information. This value is returned from the previous call. If a pagination token is provided the filter, sortBy and asAt fields must not have changed since the original request. + Integer limit = 56; // Integer | When paginating, limit the number of returned results to this many. Defaults to 100 if not specified. + String filter = "filter_example"; // String | Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid. + List sortBy = Arrays.asList(); // List | A list of field names suffixed by \" ASC\" or \" DESC\" + try { + // uncomment the below to set overrides at the request level + // ResourceListOfChangeInterval result = apiInstance.getEntityHistory(entityType, entityUniqueId, asAt, page, limit, filter, sortBy).execute(opts); + + ResourceListOfChangeInterval result = apiInstance.getEntityHistory(entityType, entityUniqueId, asAt, page, limit, filter, sortBy).execute(); + System.out.println(result.toJson()); + } catch (ApiException e) { + System.err.println("Exception when calling EntitiesApi#getEntityHistory"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **entityType** | **String**| The type of the entity to list the change history for. | | +| **entityUniqueId** | **String**| The universally unique identifier of the entity. | | +| **asAt** | **OffsetDateTime**| The asAt datetime at which to list change history information. Defaults to return the change history at the latest datetime if not specified. | [optional] | +| **page** | **String**| The pagination token to use to continue listing change history information from a previous call to list change history information. This value is returned from the previous call. If a pagination token is provided the filter, sortBy and asAt fields must not have changed since the original request. | [optional] | +| **limit** | **Integer**| When paginating, limit the number of returned results to this many. Defaults to 100 if not specified. | [optional] | +| **filter** | **String**| Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid. | [optional] | +| **sortBy** | [**List<String>**](String.md)| A list of field names suffixed by \" ASC\" or \" DESC\" | [optional] | + +### Return type + +[**ResourceListOfChangeInterval**](ResourceListOfChangeInterval.md) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: text/plain, application/json, text/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | The change history of the provided entity. | - | +| **400** | The details of the input related failure | - | +| **0** | Error response | - | + +[Back to top](#) • [Back to API list](../README.md#documentation-for-api-endpoints) • [Back to Model list](../README.md#documentation-for-models) • [Back to README](../README.md) + + ## getInstrumentByEntityUniqueId > InstrumentEntity getInstrumentByEntityUniqueId(entityUniqueId, effectiveAt, asAt, previews) diff --git a/sdk/docs/FundConfigurationApi.md b/sdk/docs/FundConfigurationApi.md index 916ff3fe77d..51b23978816 100644 --- a/sdk/docs/FundConfigurationApi.md +++ b/sdk/docs/FundConfigurationApi.md @@ -8,6 +8,7 @@ All URIs are relative to *https://www.lusid.com/api* | [**deleteFundConfiguration**](FundConfigurationApi.md#deleteFundConfiguration) | **DELETE** /api/fundconfigurations/{scope}/{code} | [EXPERIMENTAL] DeleteFundConfiguration: Delete a FundConfiguration. | | [**getFundConfiguration**](FundConfigurationApi.md#getFundConfiguration) | **GET** /api/fundconfigurations/{scope}/{code} | [EXPERIMENTAL] GetFundConfiguration: Get FundConfiguration. | | [**listFundConfigurations**](FundConfigurationApi.md#listFundConfigurations) | **GET** /api/fundconfigurations | [EXPERIMENTAL] ListFundConfigurations: List FundConfiguration. | +| [**patchFundConfiguration**](FundConfigurationApi.md#patchFundConfiguration) | **PATCH** /api/fundconfigurations/{scope}/{code} | [EXPERIMENTAL] PatchFundConfiguration: Patch Fund Configuration. | | [**upsertFundConfigurationProperties**](FundConfigurationApi.md#upsertFundConfigurationProperties) | **POST** /api/fundconfigurations/{scope}/{code}/properties/$upsert | [EXPERIMENTAL] UpsertFundConfigurationProperties: Upsert FundConfiguration properties | @@ -400,6 +401,101 @@ public class FundConfigurationApiExample { [Back to top](#) • [Back to API list](../README.md#documentation-for-api-endpoints) • [Back to Model list](../README.md#documentation-for-models) • [Back to README](../README.md) +## patchFundConfiguration + +> FundConfiguration patchFundConfiguration(scope, code, operation) + +[EXPERIMENTAL] PatchFundConfiguration: Patch Fund Configuration. + +Create or update certain fields for a particular FundConfiguration. The behaviour is defined by the JSON Patch specification. Currently supported fields are: displayName, description, dealingFilters, pnlFilters, backOutFilters. + +### Example + +```java +import com.finbourne.lusid.model.*; +import com.finbourne.lusid.api.FundConfigurationApi; +import com.finbourne.lusid.extensions.ApiConfigurationException; +import com.finbourne.lusid.extensions.ApiFactoryBuilder; +import com.finbourne.lusid.extensions.auth.FinbourneTokenException; + +import java.io.FileNotFoundException; +import java.io.PrintWriter; +import java.io.UnsupportedEncodingException; + +public class FundConfigurationApiExample { + + public static void main(String[] args) throws FileNotFoundException, UnsupportedEncodingException, ApiConfigurationException, FinbourneTokenException { + String fileName = "secrets.json"; + try(PrintWriter writer = new PrintWriter(fileName, "UTF-8")) { + writer.write("{" + + "\"api\": {" + + " \"tokenUrl\": \"\"," + + " \"lusidUrl\": \"https://.lusid.com/api\"," + + " \"username\": \"\"," + + " \"password\": \"\"," + + " \"clientId\": \"\"," + + " \"clientSecret\": \"\"" + + " }" + + "}"); + } + + // uncomment the below to use configuration overrides + // ConfigurationOptions opts = new ConfigurationOptions(); + // opts.setTotalTimeoutMs(2000); + + // uncomment the below to use an api factory with overrides + // ApiFactory apiFactory = ApiFactoryBuilder.build(fileName, opts); + // FundConfigurationApi apiInstance = apiFactory.build(FundConfigurationApi.class); + + FundConfigurationApi apiInstance = ApiFactoryBuilder.build(fileName).build(FundConfigurationApi.class); + String scope = "scope_example"; // String | The scope of the FundConfiguration. + String code = "code_example"; // String | The code of the FundConfiguration. Together with the scope this uniquely identifies the FundConfiguration. + List operation = Arrays.asList(); // List | The json patch document. For more information see: https://datatracker.ietf.org/doc/html/rfc6902. + try { + // uncomment the below to set overrides at the request level + // FundConfiguration result = apiInstance.patchFundConfiguration(scope, code, operation).execute(opts); + + FundConfiguration result = apiInstance.patchFundConfiguration(scope, code, operation).execute(); + System.out.println(result.toJson()); + } catch (ApiException e) { + System.err.println("Exception when calling FundConfigurationApi#patchFundConfiguration"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **scope** | **String**| The scope of the FundConfiguration. | | +| **code** | **String**| The code of the FundConfiguration. Together with the scope this uniquely identifies the FundConfiguration. | | +| **operation** | [**List<Operation>**](Operation.md)| The json patch document. For more information see: https://datatracker.ietf.org/doc/html/rfc6902. | | + +### Return type + +[**FundConfiguration**](FundConfiguration.md) + +### HTTP request headers + +- **Content-Type**: application/json-patch+json, application/json, text/json, application/*+json +- **Accept**: text/plain, application/json, text/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | The newly patched FundConfiguration | - | +| **400** | The details of the input related failure | - | +| **0** | Error response | - | + +[Back to top](#) • [Back to API list](../README.md#documentation-for-api-endpoints) • [Back to Model list](../README.md#documentation-for-models) • [Back to README](../README.md) + + ## upsertFundConfigurationProperties > FundConfigurationProperties upsertFundConfigurationProperties(scope, code, requestBody) diff --git a/sdk/docs/InstrumentEvent.md b/sdk/docs/InstrumentEvent.md index f99ef517f1e..a0e70a16f11 100644 --- a/sdk/docs/InstrumentEvent.md +++ b/sdk/docs/InstrumentEvent.md @@ -8,7 +8,7 @@ Base class for representing instrument events in LUSID, such as dividends, stock | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**instrumentEventType** | [**InstrumentEventTypeEnum**](#InstrumentEventTypeEnum) | The Type of Event. The available values are: TransitionEvent, InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent, CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent, ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent, BondCouponEvent, DividendReinvestmentEvent, AccumulationEvent, BondPrincipalEvent, DividendOptionEvent, MaturityEvent, FxForwardSettlementEvent, ExpiryEvent, ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent, SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent, CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent, MbsPrincipalEvent | | +|**instrumentEventType** | [**InstrumentEventTypeEnum**](#InstrumentEventTypeEnum) | The Type of Event. The available values are: TransitionEvent, InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent, CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent, ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent, BondCouponEvent, DividendReinvestmentEvent, AccumulationEvent, BondPrincipalEvent, DividendOptionEvent, MaturityEvent, FxForwardSettlementEvent, ExpiryEvent, ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent, SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent, CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent, MbsPrincipalEvent, BonusIssueEvent | | @@ -52,6 +52,7 @@ Base class for representing instrument events in LUSID, such as dividends, stock | CDXCREDITEVENT | "CdxCreditEvent" | | MBSCOUPONEVENT | "MbsCouponEvent" | | MBSPRINCIPALEVENT | "MbsPrincipalEvent" | +| BONUSISSUEEVENT | "BonusIssueEvent" | diff --git a/sdk/docs/InstrumentEventHolder.md b/sdk/docs/InstrumentEventHolder.md index cf8e58f1f40..5c2d1348d94 100644 --- a/sdk/docs/InstrumentEventHolder.md +++ b/sdk/docs/InstrumentEventHolder.md @@ -15,6 +15,7 @@ An instrument event equipped with additional metadata. |**instrumentScope** | **String** | The scope of the instrument. | | |**description** | **String** | The description of the instrument event. | | |**eventDateRange** | [**EventDateRange**](EventDateRange.md) | | | +|**completeness** | **String** | Is the event Economically Complete, or is it missing some DataDependent fields (Incomplete). | [optional] [readonly] | |**instrumentEvent** | [**InstrumentEvent**](InstrumentEvent.md) | | | |**properties** | [**List<PerpetualProperty>**](PerpetualProperty.md) | The properties attached to this instrument event. | [optional] | |**sequenceNumber** | **Integer** | The order of the instrument event relative others on the same date (0 being processed first). Must be non negative. | [optional] | diff --git a/sdk/docs/InstrumentEventType.md b/sdk/docs/InstrumentEventType.md index ef13251bed8..21d887e6190 100644 --- a/sdk/docs/InstrumentEventType.md +++ b/sdk/docs/InstrumentEventType.md @@ -77,6 +77,8 @@ * `MBSPRINCIPALEVENT` (value: `"MbsPrincipalEvent"`) +* `BONUSISSUEEVENT` (value: `"BonusIssueEvent"`) + [Back to Model list](../README.md#documentation-for-models) • [Back to API list](../README.md#documentation-for-api-endpoints) • [Back to README](../README.md) diff --git a/sdk/docs/InstrumentType.md b/sdk/docs/InstrumentType.md index 97911fce137..0a35d172293 100644 --- a/sdk/docs/InstrumentType.md +++ b/sdk/docs/InstrumentType.md @@ -85,6 +85,8 @@ * `CASH` (value: `"Cash"`) +* `MASTEREDINSTRUMENT` (value: `"MasteredInstrument"`) + [Back to Model list](../README.md#documentation-for-models) • [Back to API list](../README.md#documentation-for-api-endpoints) • [Back to README](../README.md) diff --git a/sdk/docs/LapseElection.md b/sdk/docs/LapseElection.md new file mode 100644 index 00000000000..e670a26a629 --- /dev/null +++ b/sdk/docs/LapseElection.md @@ -0,0 +1,19 @@ + + +# LapseElection + +Lapse election. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**electionKey** | **String** | Unique key associated to this election | | +|**isDefault** | **Boolean** | Is this election automatically applied in the absence of an election having been made. May only be true for one election if multiple are provided. | [optional] | +|**isChosen** | **Boolean** | Is this the election that has been explicitly chosen from multiple options. | [optional] | + + + +[Back to Model list](../README.md#documentation-for-models) • [Back to API list](../README.md#documentation-for-api-endpoints) • [Back to README](../README.md) + + diff --git a/sdk/docs/LusidInstrument.md b/sdk/docs/LusidInstrument.md index 364d660687a..fd3ea8af02b 100644 --- a/sdk/docs/LusidInstrument.md +++ b/sdk/docs/LusidInstrument.md @@ -8,7 +8,7 @@ Base class in the hierarchy for representing the full economic definition of ins | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**instrumentType** | [**InstrumentTypeEnum**](#InstrumentTypeEnum) | The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash | | +|**instrumentType** | [**InstrumentTypeEnum**](#InstrumentTypeEnum) | The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash, MasteredInstrument | | @@ -56,6 +56,7 @@ Base class in the hierarchy for representing the full economic definition of ins | FLEXIBLELOAN | "FlexibleLoan" | | UNSETTLEDCASH | "UnsettledCash" | | CASH | "Cash" | +| MASTEREDINSTRUMENT | "MasteredInstrument" | diff --git a/sdk/docs/MasteredInstrument.md b/sdk/docs/MasteredInstrument.md new file mode 100644 index 00000000000..2cbfa84feef --- /dev/null +++ b/sdk/docs/MasteredInstrument.md @@ -0,0 +1,23 @@ + + +# MasteredInstrument + +LUSID representation of a reference to another instrument that has already been upserted (Mastered) + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**identifiers** | **Map<String, String>** | Dictionary of identifiers of the mastered instrument | | +|**assetClass** | **String** | Asset class of the mastered instrument - read only field Supported string (enumeration) values are: [InterestRates, FX, Inflation, Equities, Credit, Commodities, Money]. | [optional] [readonly] | +|**masteredDomCcy** | **String** | DomCcy of the Instrument that Mastered Instrument points to - read only field | [optional] [readonly] | +|**masteredInstrumentType** | **String** | Type of the Instrument that Mastered Instrument points to - read only field | [optional] [readonly] | +|**masteredLusidInstrumentId** | **String** | Luid of the Instrument that Mastered Instrument points to - read only field | [optional] [readonly] | +|**masteredName** | **String** | Name of the Instrument that Mastered Instrument points to - read only field | [optional] [readonly] | +|**masteredScope** | **String** | Scope of the Instrument that Mastered Instrument points to - read only field | [optional] [readonly] | + + + +[Back to Model list](../README.md#documentation-for-models) • [Back to API list](../README.md#documentation-for-api-endpoints) • [Back to README](../README.md) + + diff --git a/sdk/docs/ResourceListOfChangeInterval.md b/sdk/docs/ResourceListOfChangeInterval.md new file mode 100644 index 00000000000..9d7122e04a5 --- /dev/null +++ b/sdk/docs/ResourceListOfChangeInterval.md @@ -0,0 +1,20 @@ + + +# ResourceListOfChangeInterval + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**values** | [**List<ChangeInterval>**](ChangeInterval.md) | | | +|**href** | **URI** | | [optional] | +|**links** | [**List<Link>**](Link.md) | | [optional] | +|**nextPage** | **String** | | [optional] | +|**previousPage** | **String** | | [optional] | + + + +[Back to Model list](../README.md#documentation-for-models) • [Back to API list](../README.md#documentation-for-api-endpoints) • [Back to README](../README.md) + + diff --git a/sdk/docs/ShareClassDetails.md b/sdk/docs/ShareClassDetails.md index c628fa840a5..73ff6d583fc 100644 --- a/sdk/docs/ShareClassDetails.md +++ b/sdk/docs/ShareClassDetails.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**lusidInstrumentId** | **String** | LUSID's internal unique instrument identifier, resolved from the share class' instrument identifiers | [optional] | |**instrumentScope** | **String** | The scope in which the share class instrument lies. | [optional] | +|**shortCode** | **String** | The unique code within the fund for the share class instrument. | [optional] | |**domCurrency** | **String** | The domestic currency of the share class instrument | [optional] | |**instrumentActive** | **Boolean** | If the instrument of the share class is active. | [optional] | diff --git a/sdk/docs/StagedModificationEffectiveRange.md b/sdk/docs/StagedModificationEffectiveRange.md index 2a7b4a1b572..f99396ed9f1 100644 --- a/sdk/docs/StagedModificationEffectiveRange.md +++ b/sdk/docs/StagedModificationEffectiveRange.md @@ -7,8 +7,8 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**fromDate** | **OffsetDateTime** | Time the decision request is made. | [optional] | -|**untilDate** | **OffsetDateTime** | ID of user that approved the request. | [optional] | +|**fromDate** | **OffsetDateTime** | The datetime that this requested change is effective from. | [optional] | +|**untilDate** | **OffsetDateTime** | The datetime that this requested change is effective until. | [optional] | diff --git a/sdk/docs/ValuationPointDataQueryParameters.md b/sdk/docs/ValuationPointDataQueryParameters.md index 92b7e1e951a..ae984d2279d 100644 --- a/sdk/docs/ValuationPointDataQueryParameters.md +++ b/sdk/docs/ValuationPointDataQueryParameters.md @@ -8,7 +8,7 @@ The parameters used in getting the ValuationPointData. | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**end** | [**DateOrDiaryEntry**](DateOrDiaryEntry.md) | | [optional] | +|**end** | [**DateOrDiaryEntry**](DateOrDiaryEntry.md) | | | diff --git a/sdk/docs/ValuationPointDataResponse.md b/sdk/docs/ValuationPointDataResponse.md index c92f0da5e7c..0463718837b 100644 --- a/sdk/docs/ValuationPointDataResponse.md +++ b/sdk/docs/ValuationPointDataResponse.md @@ -20,7 +20,7 @@ The Valuation Point Data Response for the Fund and specified date. |**previousNav** | **java.math.BigDecimal** | DEPRECATED. The Net Asset Value of the Fund at the End of the last Period. | | |**fundDetails** | [**FundDetails**](FundDetails.md) | | | |**fundValuationPointData** | [**FundValuationPointData**](FundValuationPointData.md) | | | -|**shareClassData** | [**Map<String, ShareClassData>**](ShareClassData.md) | The data for all share classes in fund. Share classes are identified by their short codes. | | +|**shareClassData** | [**List<ShareClassData>**](ShareClassData.md) | The data for all share classes in fund. Share classes are identified by their short codes. | | |**valuationPointCode** | **String** | The code of the valuation point. | [optional] | |**previousValuationPointCode** | **String** | The code of the previous valuation point. | [optional] | |**links** | [**List<Link>**](Link.md) | | [optional] | diff --git a/sdk/pom.xml b/sdk/pom.xml index 39cc2580201..939325e9e69 100644 --- a/sdk/pom.xml +++ b/sdk/pom.xml @@ -5,7 +5,7 @@ lusid-sdk jar lusid-sdk - 2.0.1084 + 2.0.1090 https://github.com/finbourne/lusid-sdk-java lusid diff --git a/sdk/src/main/java/com/finbourne/lusid/ApiClient.java b/sdk/src/main/java/com/finbourne/lusid/ApiClient.java index b2a3fa5b7a0..b6444cecbc9 100644 --- a/sdk/src/main/java/com/finbourne/lusid/ApiClient.java +++ b/sdk/src/main/java/com/finbourne/lusid/ApiClient.java @@ -212,7 +212,7 @@ private void init() { json = new JSON(); // Set default User-Agent. - setUserAgent("OpenAPI-Generator/2.0.1084/java"); + setUserAgent("OpenAPI-Generator/2.0.1090/java"); authentications = new HashMap(); } diff --git a/sdk/src/main/java/com/finbourne/lusid/Configuration.java b/sdk/src/main/java/com/finbourne/lusid/Configuration.java index cc43803dcd6..35969b5120a 100644 --- a/sdk/src/main/java/com/finbourne/lusid/Configuration.java +++ b/sdk/src/main/java/com/finbourne/lusid/Configuration.java @@ -12,7 +12,7 @@ @jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") public class Configuration { - public static final String VERSION = "2.0.1084"; + public static final String VERSION = "2.0.1090"; private static ApiClient defaultApiClient = new ApiClient(); diff --git a/sdk/src/main/java/com/finbourne/lusid/JSON.java b/sdk/src/main/java/com/finbourne/lusid/JSON.java index 56d83373a6f..dcae888600a 100644 --- a/sdk/src/main/java/com/finbourne/lusid/JSON.java +++ b/sdk/src/main/java/com/finbourne/lusid/JSON.java @@ -153,6 +153,15 @@ public Class getClassFor return getClassByDiscriminator(classByDiscriminatorValue, getDiscriminatorValue(readElement, "instrumentEventType")); } + }) + .registerTypeSelector(com.finbourne.lusid.model.BonusIssueEvent.class, new TypeSelector() { + @Override + public Class getClassForElement(JsonElement readElement) { + Map classByDiscriminatorValue = new HashMap(); + classByDiscriminatorValue.put("BonusIssueEvent", com.finbourne.lusid.model.BonusIssueEvent.class); + return getClassByDiscriminator(classByDiscriminatorValue, + getDiscriminatorValue(readElement, "instrumentEventType")); + } }) .registerTypeSelector(com.finbourne.lusid.model.BoolComplianceParameter.class, new TypeSelector() { @Override @@ -1128,6 +1137,7 @@ public Class getClassForEle classByDiscriminatorValue.put("BondCouponEvent", com.finbourne.lusid.model.BondCouponEvent.class); classByDiscriminatorValue.put("BondDefaultEvent", com.finbourne.lusid.model.BondDefaultEvent.class); classByDiscriminatorValue.put("BondPrincipalEvent", com.finbourne.lusid.model.BondPrincipalEvent.class); + classByDiscriminatorValue.put("BonusIssueEvent", com.finbourne.lusid.model.BonusIssueEvent.class); classByDiscriminatorValue.put("CapitalDistributionEvent", com.finbourne.lusid.model.CapitalDistributionEvent.class); classByDiscriminatorValue.put("CashDividendEvent", com.finbourne.lusid.model.CashDividendEvent.class); classByDiscriminatorValue.put("CashFlowEvent", com.finbourne.lusid.model.CashFlowEvent.class); @@ -1291,6 +1301,7 @@ public Class getClassForEle classByDiscriminatorValue.put("InstrumentLeg", com.finbourne.lusid.model.InstrumentLeg.class); classByDiscriminatorValue.put("InterestRateSwap", com.finbourne.lusid.model.InterestRateSwap.class); classByDiscriminatorValue.put("InterestRateSwaption", com.finbourne.lusid.model.InterestRateSwaption.class); + classByDiscriminatorValue.put("MasteredInstrument", com.finbourne.lusid.model.MasteredInstrument.class); classByDiscriminatorValue.put("ReferenceInstrument", com.finbourne.lusid.model.ReferenceInstrument.class); classByDiscriminatorValue.put("Repo", com.finbourne.lusid.model.Repo.class); classByDiscriminatorValue.put("SimpleCashFlowLoan", com.finbourne.lusid.model.SimpleCashFlowLoan.class); @@ -1311,6 +1322,15 @@ public Class getClassForE return getClassByDiscriminator(classByDiscriminatorValue, getDiscriminatorValue(readElement, "marketDataOptionsType")); } + }) + .registerTypeSelector(com.finbourne.lusid.model.MasteredInstrument.class, new TypeSelector() { + @Override + public Class getClassForElement(JsonElement readElement) { + Map classByDiscriminatorValue = new HashMap(); + classByDiscriminatorValue.put("MasteredInstrument", com.finbourne.lusid.model.MasteredInstrument.class); + return getClassByDiscriminator(classByDiscriminatorValue, + getDiscriminatorValue(readElement, "instrumentType")); + } }) .registerTypeSelector(com.finbourne.lusid.model.MatchCriterion.class, new TypeSelector() { @Override @@ -2089,6 +2109,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.BondCouponEvent.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.BondDefaultEvent.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.BondPrincipalEvent.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.BonusIssueEvent.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.BookTransactionsRequest.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.BookTransactionsResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.BoolComplianceParameter.CustomTypeAdapterFactory()); @@ -2128,6 +2149,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.CdxCreditEvent.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.Change.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.ChangeHistory.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.ChangeInterval.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.ChangeIntervalWithOrderManagementDetail.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.ChangeItem.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.ChartOfAccounts.CustomTypeAdapterFactory()); @@ -2281,6 +2303,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.DividendReinvestmentEvent.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.EconomicDependencyWithComplexMarketData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.EconomicDependencyWithQuote.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.EffectiveRange.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.ElectionSpecification.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.EligibilityCalculation.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.EmptyModelOptions.CustomTypeAdapterFactory()); @@ -2465,6 +2488,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.JournalEntryLine.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.JournalEntryLinesQueryParameters.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.LabelValueSet.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.LapseElection.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.LegDefinition.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.LegalEntity.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.LevelStep.CustomTypeAdapterFactory()); @@ -2491,6 +2515,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.MarketDataSpecificRule.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.MarketOptions.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.MarketQuote.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.MasteredInstrument.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.MaturityEvent.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.MbsCouponEvent.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.MbsPrincipalEvent.CustomTypeAdapterFactory()); @@ -2735,6 +2760,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.ResourceListOfCalendarDate.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.ResourceListOfChange.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.ResourceListOfChangeHistory.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.ResourceListOfChangeInterval.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.ResourceListOfChangeIntervalWithOrderManagementDetail.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.ResourceListOfComplianceBreachedOrderInfo.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.ResourceListOfComplianceRule.CustomTypeAdapterFactory()); diff --git a/sdk/src/main/java/com/finbourne/lusid/api/EntitiesApi.java b/sdk/src/main/java/com/finbourne/lusid/api/EntitiesApi.java index 8efb2a895fe..ca1e3a74ff1 100644 --- a/sdk/src/main/java/com/finbourne/lusid/api/EntitiesApi.java +++ b/sdk/src/main/java/com/finbourne/lusid/api/EntitiesApi.java @@ -34,6 +34,7 @@ import com.finbourne.lusid.model.PortfolioEntity; import com.finbourne.lusid.model.PropertyDefinitionEntity; import com.finbourne.lusid.model.ResourceListOfChange; +import com.finbourne.lusid.model.ResourceListOfChangeInterval; import java.lang.reflect.Type; import java.util.ArrayList; @@ -617,6 +618,322 @@ public okhttp3.Call executeAsync(final ApiCallback _callback, Co public APIgetDataTypeByEntityUniqueIdRequest getDataTypeByEntityUniqueId(String entityUniqueId) { return new APIgetDataTypeByEntityUniqueIdRequest(entityUniqueId); } + private okhttp3.Call getEntityHistoryCall(String entityType, String entityUniqueId, OffsetDateTime asAt, String page, Integer limit, String filter, List sortBy, final ApiCallback _callback) throws ApiException { + return getEntityHistoryCall(entityType, entityUniqueId, asAt, page, limit, filter, sortBy, _callback, new ConfigurationOptions()); + } + + private okhttp3.Call getEntityHistoryCall(String entityType, String entityUniqueId, OffsetDateTime asAt, String page, Integer limit, String filter, List sortBy, final ApiCallback _callback, ConfigurationOptions opts) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/api/entities/{entityType}/{entityUniqueId}/history" + .replace("{" + "entityType" + "}", localVarApiClient.escapeString(entityType.toString())) + .replace("{" + "entityUniqueId" + "}", localVarApiClient.escapeString(entityUniqueId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + if (asAt != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("asAt", asAt)); + } + + if (page != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page", page)); + } + + if (limit != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("limit", limit)); + } + + if (filter != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter", filter)); + } + + if (sortBy != null) { + localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "sortBy", sortBy)); + } + + final String[] localVarAccepts = { + "text/plain", + "application/json", + "text/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "oauth2" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback, opts); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call getEntityHistoryValidateBeforeCall(String entityType, String entityUniqueId, OffsetDateTime asAt, String page, Integer limit, String filter, List sortBy, final ApiCallback _callback, ConfigurationOptions opts) throws ApiException { + // verify the required parameter 'entityType' is set + if (entityType == null) { + throw new ApiException("Missing the required parameter 'entityType' when calling getEntityHistory(Async)"); + } + + // verify the required parameter 'entityUniqueId' is set + if (entityUniqueId == null) { + throw new ApiException("Missing the required parameter 'entityUniqueId' when calling getEntityHistory(Async)"); + } + + return getEntityHistoryCall(entityType, entityUniqueId, asAt, page, limit, filter, sortBy, _callback, opts); + + } + + + private ApiResponse getEntityHistoryWithHttpInfo(String entityType, String entityUniqueId, OffsetDateTime asAt, String page, Integer limit, String filter, List sortBy) throws ApiException { + okhttp3.Call localVarCall = getEntityHistoryValidateBeforeCall(entityType, entityUniqueId, asAt, page, limit, filter, sortBy, null, new ConfigurationOptions()); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + private ApiResponse getEntityHistoryWithHttpInfo(String entityType, String entityUniqueId, OffsetDateTime asAt, String page, Integer limit, String filter, List sortBy, ConfigurationOptions opts) throws ApiException { + okhttp3.Call localVarCall = getEntityHistoryValidateBeforeCall(entityType, entityUniqueId, asAt, page, limit, filter, sortBy, null, opts); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + private okhttp3.Call getEntityHistoryAsync(String entityType, String entityUniqueId, OffsetDateTime asAt, String page, Integer limit, String filter, List sortBy, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getEntityHistoryValidateBeforeCall(entityType, entityUniqueId, asAt, page, limit, filter, sortBy, _callback, new ConfigurationOptions()); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + + private okhttp3.Call getEntityHistoryAsync(String entityType, String entityUniqueId, OffsetDateTime asAt, String page, Integer limit, String filter, List sortBy, final ApiCallback _callback, ConfigurationOptions opts) throws ApiException { + + okhttp3.Call localVarCall = getEntityHistoryValidateBeforeCall(entityType, entityUniqueId, asAt, page, limit, filter, sortBy, _callback, opts); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + + public class APIgetEntityHistoryRequest { + private final String entityType; + private final String entityUniqueId; + private OffsetDateTime asAt; + private String page; + private Integer limit; + private String filter; + private List sortBy; + + private APIgetEntityHistoryRequest(String entityType, String entityUniqueId) { + this.entityType = entityType; + this.entityUniqueId = entityUniqueId; + } + + /** + * Set asAt + * @param asAt The asAt datetime at which to list change history information. Defaults to return the change history at the latest datetime if not specified. (optional) + * @return APIgetEntityHistoryRequest + */ + public APIgetEntityHistoryRequest asAt(OffsetDateTime asAt) { + this.asAt = asAt; + return this; + } + + /** + * Set page + * @param page The pagination token to use to continue listing change history information from a previous call to list change history information. This value is returned from the previous call. If a pagination token is provided the filter, sortBy and asAt fields must not have changed since the original request. (optional) + * @return APIgetEntityHistoryRequest + */ + public APIgetEntityHistoryRequest page(String page) { + this.page = page; + return this; + } + + /** + * Set limit + * @param limit When paginating, limit the number of returned results to this many. Defaults to 100 if not specified. (optional) + * @return APIgetEntityHistoryRequest + */ + public APIgetEntityHistoryRequest limit(Integer limit) { + this.limit = limit; + return this; + } + + /** + * Set filter + * @param filter Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid. (optional) + * @return APIgetEntityHistoryRequest + */ + public APIgetEntityHistoryRequest filter(String filter) { + this.filter = filter; + return this; + } + + /** + * Set sortBy + * @param sortBy A list of field names suffixed by \" ASC\" or \" DESC\" (optional) + * @return APIgetEntityHistoryRequest + */ + public APIgetEntityHistoryRequest sortBy(List sortBy) { + this.sortBy = sortBy; + return this; + } + + /** + * Build call for getEntityHistory + * @param _callback ApiCallback API callback + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + +
Status Code Description Response Headers
200 The change history of the provided entity. -
400 The details of the input related failure -
0 Error response -
+ */ + public okhttp3.Call buildCall(final ApiCallback _callback) throws ApiException { + return getEntityHistoryCall(entityType, entityUniqueId, asAt, page, limit, filter, sortBy, _callback); + } + + /** + * Execute getEntityHistory request + * @return ResourceListOfChangeInterval + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Status Code Description Response Headers
200 The change history of the provided entity. -
400 The details of the input related failure -
0 Error response -
+ */ + public ResourceListOfChangeInterval execute() throws ApiException { + ApiResponse localVarResp = getEntityHistoryWithHttpInfo(entityType, entityUniqueId, asAt, page, limit, filter, sortBy); + return localVarResp.getData(); + } + + /** + * Execute getEntityHistory request. Use any specified configuration options to override any other configuration for this request only. + * @return ResourceListOfChangeInterval + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Status Code Description Response Headers
200 The change history of the provided entity. -
400 The details of the input related failure -
0 Error response -
+ */ + public ResourceListOfChangeInterval execute(ConfigurationOptions opts) throws ApiException { + ApiResponse localVarResp = getEntityHistoryWithHttpInfo(entityType, entityUniqueId, asAt, page, limit, filter, sortBy, opts); + return localVarResp.getData(); + } + + /** + * Execute getEntityHistory request with HTTP info returned + * @return ApiResponse<ResourceListOfChangeInterval> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Status Code Description Response Headers
200 The change history of the provided entity. -
400 The details of the input related failure -
0 Error response -
+ */ + public ApiResponse executeWithHttpInfo() throws ApiException { + return getEntityHistoryWithHttpInfo(entityType, entityUniqueId, asAt, page, limit, filter, sortBy); + } + + /** + * Execute getEntityHistory request with HTTP info returned. Use any specified configuration options to override any other configuration for this request only. + * @return ApiResponse<ResourceListOfChangeInterval> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Status Code Description Response Headers
200 The change history of the provided entity. -
400 The details of the input related failure -
0 Error response -
+ */ + public ApiResponse executeWithHttpInfo(ConfigurationOptions opts) throws ApiException { + return getEntityHistoryWithHttpInfo(entityType, entityUniqueId, asAt, page, limit, filter, sortBy, opts); + } + + /** + * Execute getEntityHistory request (asynchronously) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + +
Status Code Description Response Headers
200 The change history of the provided entity. -
400 The details of the input related failure -
0 Error response -
+ */ + public okhttp3.Call executeAsync(final ApiCallback _callback) throws ApiException { + return getEntityHistoryAsync(entityType, entityUniqueId, asAt, page, limit, filter, sortBy, _callback); + } + + /** + * Execute getEntityHistory request (asynchronously). Use any specified configuration options to override any other configuration for this request only. + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + +
Status Code Description Response Headers
200 The change history of the provided entity. -
400 The details of the input related failure -
0 Error response -
+ */ + public okhttp3.Call executeAsync(final ApiCallback _callback, ConfigurationOptions opts) throws ApiException { + return getEntityHistoryAsync(entityType, entityUniqueId, asAt, page, limit, filter, sortBy, _callback, opts); + } + } + + /** + * [EXPERIMENTAL] GetEntityHistory: List an entity's history information + * Retrieve a page of an entity's change history up to a particular point in AsAt time. + * @param entityType The type of the entity to list the change history for. (required) + * @param entityUniqueId The universally unique identifier of the entity. (required) + * @return APIgetEntityHistoryRequest + * @http.response.details + + + + + +
Status Code Description Response Headers
200 The change history of the provided entity. -
400 The details of the input related failure -
0 Error response -
+ */ + public APIgetEntityHistoryRequest getEntityHistory(String entityType, String entityUniqueId) { + return new APIgetEntityHistoryRequest(entityType, entityUniqueId); + } private okhttp3.Call getInstrumentByEntityUniqueIdCall(String entityUniqueId, String effectiveAt, OffsetDateTime asAt, List previews, final ApiCallback _callback) throws ApiException { return getInstrumentByEntityUniqueIdCall(entityUniqueId, effectiveAt, asAt, previews, _callback, new ConfigurationOptions()); } diff --git a/sdk/src/main/java/com/finbourne/lusid/api/FundConfigurationApi.java b/sdk/src/main/java/com/finbourne/lusid/api/FundConfigurationApi.java index c3f299ef143..a0e8678793d 100644 --- a/sdk/src/main/java/com/finbourne/lusid/api/FundConfigurationApi.java +++ b/sdk/src/main/java/com/finbourne/lusid/api/FundConfigurationApi.java @@ -32,6 +32,7 @@ import com.finbourne.lusid.model.LusidProblemDetails; import com.finbourne.lusid.model.LusidValidationProblemDetails; import java.time.OffsetDateTime; +import com.finbourne.lusid.model.Operation; import com.finbourne.lusid.model.PagedResourceListOfFundConfiguration; import com.finbourne.lusid.model.Property; @@ -1177,6 +1178,259 @@ public okhttp3.Call executeAsync(final ApiCallback operation, final ApiCallback _callback) throws ApiException { + return patchFundConfigurationCall(scope, code, operation, _callback, new ConfigurationOptions()); + } + + private okhttp3.Call patchFundConfigurationCall(String scope, String code, List operation, final ApiCallback _callback, ConfigurationOptions opts) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = operation; + + // create path and map variables + String localVarPath = "/api/fundconfigurations/{scope}/{code}" + .replace("{" + "scope" + "}", localVarApiClient.escapeString(scope.toString())) + .replace("{" + "code" + "}", localVarApiClient.escapeString(code.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "text/plain", + "application/json", + "text/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/json-patch+json", + "application/json", + "text/json", + "application/*+json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "oauth2" }; + return localVarApiClient.buildCall(basePath, localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback, opts); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call patchFundConfigurationValidateBeforeCall(String scope, String code, List operation, final ApiCallback _callback, ConfigurationOptions opts) throws ApiException { + // verify the required parameter 'scope' is set + if (scope == null) { + throw new ApiException("Missing the required parameter 'scope' when calling patchFundConfiguration(Async)"); + } + + // verify the required parameter 'code' is set + if (code == null) { + throw new ApiException("Missing the required parameter 'code' when calling patchFundConfiguration(Async)"); + } + + // verify the required parameter 'operation' is set + if (operation == null) { + throw new ApiException("Missing the required parameter 'operation' when calling patchFundConfiguration(Async)"); + } + + return patchFundConfigurationCall(scope, code, operation, _callback, opts); + + } + + + private ApiResponse patchFundConfigurationWithHttpInfo(String scope, String code, List operation) throws ApiException { + okhttp3.Call localVarCall = patchFundConfigurationValidateBeforeCall(scope, code, operation, null, new ConfigurationOptions()); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + private ApiResponse patchFundConfigurationWithHttpInfo(String scope, String code, List operation, ConfigurationOptions opts) throws ApiException { + okhttp3.Call localVarCall = patchFundConfigurationValidateBeforeCall(scope, code, operation, null, opts); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + private okhttp3.Call patchFundConfigurationAsync(String scope, String code, List operation, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = patchFundConfigurationValidateBeforeCall(scope, code, operation, _callback, new ConfigurationOptions()); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + + private okhttp3.Call patchFundConfigurationAsync(String scope, String code, List operation, final ApiCallback _callback, ConfigurationOptions opts) throws ApiException { + + okhttp3.Call localVarCall = patchFundConfigurationValidateBeforeCall(scope, code, operation, _callback, opts); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + + public class APIpatchFundConfigurationRequest { + private final String scope; + private final String code; + private final List operation; + + private APIpatchFundConfigurationRequest(String scope, String code, List operation) { + this.scope = scope; + this.code = code; + this.operation = operation; + } + + /** + * Build call for patchFundConfiguration + * @param _callback ApiCallback API callback + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + +
Status Code Description Response Headers
200 The newly patched FundConfiguration -
400 The details of the input related failure -
0 Error response -
+ */ + public okhttp3.Call buildCall(final ApiCallback _callback) throws ApiException { + return patchFundConfigurationCall(scope, code, operation, _callback); + } + + /** + * Execute patchFundConfiguration request + * @return FundConfiguration + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Status Code Description Response Headers
200 The newly patched FundConfiguration -
400 The details of the input related failure -
0 Error response -
+ */ + public FundConfiguration execute() throws ApiException { + ApiResponse localVarResp = patchFundConfigurationWithHttpInfo(scope, code, operation); + return localVarResp.getData(); + } + + /** + * Execute patchFundConfiguration request. Use any specified configuration options to override any other configuration for this request only. + * @return FundConfiguration + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Status Code Description Response Headers
200 The newly patched FundConfiguration -
400 The details of the input related failure -
0 Error response -
+ */ + public FundConfiguration execute(ConfigurationOptions opts) throws ApiException { + ApiResponse localVarResp = patchFundConfigurationWithHttpInfo(scope, code, operation, opts); + return localVarResp.getData(); + } + + /** + * Execute patchFundConfiguration request with HTTP info returned + * @return ApiResponse<FundConfiguration> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Status Code Description Response Headers
200 The newly patched FundConfiguration -
400 The details of the input related failure -
0 Error response -
+ */ + public ApiResponse executeWithHttpInfo() throws ApiException { + return patchFundConfigurationWithHttpInfo(scope, code, operation); + } + + /** + * Execute patchFundConfiguration request with HTTP info returned. Use any specified configuration options to override any other configuration for this request only. + * @return ApiResponse<FundConfiguration> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Status Code Description Response Headers
200 The newly patched FundConfiguration -
400 The details of the input related failure -
0 Error response -
+ */ + public ApiResponse executeWithHttpInfo(ConfigurationOptions opts) throws ApiException { + return patchFundConfigurationWithHttpInfo(scope, code, operation, opts); + } + + /** + * Execute patchFundConfiguration request (asynchronously) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + +
Status Code Description Response Headers
200 The newly patched FundConfiguration -
400 The details of the input related failure -
0 Error response -
+ */ + public okhttp3.Call executeAsync(final ApiCallback _callback) throws ApiException { + return patchFundConfigurationAsync(scope, code, operation, _callback); + } + + /** + * Execute patchFundConfiguration request (asynchronously). Use any specified configuration options to override any other configuration for this request only. + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + +
Status Code Description Response Headers
200 The newly patched FundConfiguration -
400 The details of the input related failure -
0 Error response -
+ */ + public okhttp3.Call executeAsync(final ApiCallback _callback, ConfigurationOptions opts) throws ApiException { + return patchFundConfigurationAsync(scope, code, operation, _callback, opts); + } + } + + /** + * [EXPERIMENTAL] PatchFundConfiguration: Patch Fund Configuration. + * Create or update certain fields for a particular FundConfiguration. The behaviour is defined by the JSON Patch specification. Currently supported fields are: displayName, description, dealingFilters, pnlFilters, backOutFilters. + * @param scope The scope of the FundConfiguration. (required) + * @param code The code of the FundConfiguration. Together with the scope this uniquely identifies the FundConfiguration. (required) + * @param operation The json patch document. For more information see: https://datatracker.ietf.org/doc/html/rfc6902. (required) + * @return APIpatchFundConfigurationRequest + * @http.response.details + + + + + +
Status Code Description Response Headers
200 The newly patched FundConfiguration -
400 The details of the input related failure -
0 Error response -
+ */ + public APIpatchFundConfigurationRequest patchFundConfiguration(String scope, String code, List operation) { + return new APIpatchFundConfigurationRequest(scope, code, operation); + } private okhttp3.Call upsertFundConfigurationPropertiesCall(String scope, String code, Map requestBody, final ApiCallback _callback) throws ApiException { return upsertFundConfigurationPropertiesCall(scope, code, requestBody, _callback, new ConfigurationOptions()); } diff --git a/sdk/src/main/java/com/finbourne/lusid/model/BonusIssueEvent.java b/sdk/src/main/java/com/finbourne/lusid/model/BonusIssueEvent.java new file mode 100644 index 00000000000..efc77ed0031 --- /dev/null +++ b/sdk/src/main/java/com/finbourne/lusid/model/BonusIssueEvent.java @@ -0,0 +1,474 @@ +/* + * LUSID API + * + * Contact: info@finbourne.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +package com.finbourne.lusid.model; + +import java.util.Objects; +import com.finbourne.lusid.model.CashOfferElection; +import com.finbourne.lusid.model.InstrumentEvent; +import com.finbourne.lusid.model.LapseElection; +import com.finbourne.lusid.model.SecurityOfferElection; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.finbourne.lusid.JSON; + +/** + * Representation of a Bonus Issue corporate action. + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class BonusIssueEvent extends InstrumentEvent { + public static final String SERIALIZED_NAME_ANNOUNCEMENT_DATE = "announcementDate"; + @SerializedName(SERIALIZED_NAME_ANNOUNCEMENT_DATE) + private OffsetDateTime announcementDate; + + public static final String SERIALIZED_NAME_EX_DATE = "exDate"; + @SerializedName(SERIALIZED_NAME_EX_DATE) + private OffsetDateTime exDate; + + public static final String SERIALIZED_NAME_RECORD_DATE = "recordDate"; + @SerializedName(SERIALIZED_NAME_RECORD_DATE) + private OffsetDateTime recordDate; + + public static final String SERIALIZED_NAME_PAYMENT_DATE = "paymentDate"; + @SerializedName(SERIALIZED_NAME_PAYMENT_DATE) + private OffsetDateTime paymentDate; + + public static final String SERIALIZED_NAME_FRACTIONAL_UNITS_CASH_PRICE = "fractionalUnitsCashPrice"; + @SerializedName(SERIALIZED_NAME_FRACTIONAL_UNITS_CASH_PRICE) + private java.math.BigDecimal fractionalUnitsCashPrice; + + public static final String SERIALIZED_NAME_FRACTIONAL_UNITS_CASH_CURRENCY = "fractionalUnitsCashCurrency"; + @SerializedName(SERIALIZED_NAME_FRACTIONAL_UNITS_CASH_CURRENCY) + private String fractionalUnitsCashCurrency; + + public static final String SERIALIZED_NAME_SECURITY_OFFER_ELECTIONS = "securityOfferElections"; + @SerializedName(SERIALIZED_NAME_SECURITY_OFFER_ELECTIONS) + private List securityOfferElections; + + public static final String SERIALIZED_NAME_CASH_OFFER_ELECTIONS = "cashOfferElections"; + @SerializedName(SERIALIZED_NAME_CASH_OFFER_ELECTIONS) + private List cashOfferElections; + + public static final String SERIALIZED_NAME_LAPSE_ELECTIONS = "lapseElections"; + @SerializedName(SERIALIZED_NAME_LAPSE_ELECTIONS) + private List lapseElections; + + public BonusIssueEvent() { + // this.instrumentEventType = this.getClass().getSimpleName(); + } + + public BonusIssueEvent announcementDate(OffsetDateTime announcementDate) { + + this.announcementDate = announcementDate; + return this; + } + + /** + * The date the Bonus Issue is announced. + * @return announcementDate + **/ + @jakarta.annotation.Nullable + public OffsetDateTime getAnnouncementDate() { + return announcementDate; + } + + + public void setAnnouncementDate(OffsetDateTime announcementDate) { + this.announcementDate = announcementDate; + } + + + public BonusIssueEvent exDate(OffsetDateTime exDate) { + + this.exDate = exDate; + return this; + } + + /** + * The ex-date of the Bonus Issue. + * @return exDate + **/ + @jakarta.annotation.Nonnull + public OffsetDateTime getExDate() { + return exDate; + } + + + public void setExDate(OffsetDateTime exDate) { + this.exDate = exDate; + } + + + public BonusIssueEvent recordDate(OffsetDateTime recordDate) { + + this.recordDate = recordDate; + return this; + } + + /** + * The record date of the Bonus Issue. + * @return recordDate + **/ + @jakarta.annotation.Nullable + public OffsetDateTime getRecordDate() { + return recordDate; + } + + + public void setRecordDate(OffsetDateTime recordDate) { + this.recordDate = recordDate; + } + + + public BonusIssueEvent paymentDate(OffsetDateTime paymentDate) { + + this.paymentDate = paymentDate; + return this; + } + + /** + * The date the Bonus Issue is executed. + * @return paymentDate + **/ + @jakarta.annotation.Nonnull + public OffsetDateTime getPaymentDate() { + return paymentDate; + } + + + public void setPaymentDate(OffsetDateTime paymentDate) { + this.paymentDate = paymentDate; + } + + + public BonusIssueEvent fractionalUnitsCashPrice(java.math.BigDecimal fractionalUnitsCashPrice) { + + this.fractionalUnitsCashPrice = fractionalUnitsCashPrice; + return this; + } + + /** + * Optional. Used in calculating cash-in-lieu of fractional shares. + * @return fractionalUnitsCashPrice + **/ + @jakarta.annotation.Nullable + public java.math.BigDecimal getFractionalUnitsCashPrice() { + return fractionalUnitsCashPrice; + } + + + public void setFractionalUnitsCashPrice(java.math.BigDecimal fractionalUnitsCashPrice) { + this.fractionalUnitsCashPrice = fractionalUnitsCashPrice; + } + + + public BonusIssueEvent fractionalUnitsCashCurrency(String fractionalUnitsCashCurrency) { + + this.fractionalUnitsCashCurrency = fractionalUnitsCashCurrency; + return this; + } + + /** + * Optional. Used in calculating cash-in-lieu of fractional shares. + * @return fractionalUnitsCashCurrency + **/ + @jakarta.annotation.Nullable + public String getFractionalUnitsCashCurrency() { + return fractionalUnitsCashCurrency; + } + + + public void setFractionalUnitsCashCurrency(String fractionalUnitsCashCurrency) { + this.fractionalUnitsCashCurrency = fractionalUnitsCashCurrency; + } + + + public BonusIssueEvent securityOfferElections(List securityOfferElections) { + + this.securityOfferElections = securityOfferElections; + return this; + } + + public BonusIssueEvent addSecurityOfferElectionsItem(SecurityOfferElection securityOfferElectionsItem) { + if (this.securityOfferElections == null) { + this.securityOfferElections = new ArrayList<>(); + } + this.securityOfferElections.add(securityOfferElectionsItem); + return this; + } + + /** + * Possible SecurityElections for this Bonus Issue event, if any. + * @return securityOfferElections + **/ + @jakarta.annotation.Nullable + public List getSecurityOfferElections() { + return securityOfferElections; + } + + + public void setSecurityOfferElections(List securityOfferElections) { + this.securityOfferElections = securityOfferElections; + } + + + public BonusIssueEvent cashOfferElections(List cashOfferElections) { + + this.cashOfferElections = cashOfferElections; + return this; + } + + public BonusIssueEvent addCashOfferElectionsItem(CashOfferElection cashOfferElectionsItem) { + if (this.cashOfferElections == null) { + this.cashOfferElections = new ArrayList<>(); + } + this.cashOfferElections.add(cashOfferElectionsItem); + return this; + } + + /** + * Possible CashOfferElections for this Bonus Issue event, if any. + * @return cashOfferElections + **/ + @jakarta.annotation.Nullable + public List getCashOfferElections() { + return cashOfferElections; + } + + + public void setCashOfferElections(List cashOfferElections) { + this.cashOfferElections = cashOfferElections; + } + + + public BonusIssueEvent lapseElections(List lapseElections) { + + this.lapseElections = lapseElections; + return this; + } + + public BonusIssueEvent addLapseElectionsItem(LapseElection lapseElectionsItem) { + if (this.lapseElections == null) { + this.lapseElections = new ArrayList<>(); + } + this.lapseElections.add(lapseElectionsItem); + return this; + } + + /** + * Possible LapseElections for this Bonus Issue event, if any. + * @return lapseElections + **/ + @jakarta.annotation.Nullable + public List getLapseElections() { + return lapseElections; + } + + + public void setLapseElections(List lapseElections) { + this.lapseElections = lapseElections; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BonusIssueEvent bonusIssueEvent = (BonusIssueEvent) o; + return Objects.equals(this.announcementDate, bonusIssueEvent.announcementDate) && + Objects.equals(this.exDate, bonusIssueEvent.exDate) && + Objects.equals(this.recordDate, bonusIssueEvent.recordDate) && + Objects.equals(this.paymentDate, bonusIssueEvent.paymentDate) && + (this.fractionalUnitsCashPrice.compareTo(bonusIssueEvent.getFractionalUnitsCashPrice()) == 0) && + Objects.equals(this.fractionalUnitsCashCurrency, bonusIssueEvent.fractionalUnitsCashCurrency) && + Objects.equals(this.securityOfferElections, bonusIssueEvent.securityOfferElections) && + Objects.equals(this.cashOfferElections, bonusIssueEvent.cashOfferElections) && + Objects.equals(this.lapseElections, bonusIssueEvent.lapseElections) && + super.equals(o); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(announcementDate, exDate, recordDate, paymentDate, fractionalUnitsCashPrice, fractionalUnitsCashCurrency, securityOfferElections, cashOfferElections, lapseElections, super.hashCode()); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BonusIssueEvent {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" announcementDate: ").append(toIndentedString(announcementDate)).append("\n"); + sb.append(" exDate: ").append(toIndentedString(exDate)).append("\n"); + sb.append(" recordDate: ").append(toIndentedString(recordDate)).append("\n"); + sb.append(" paymentDate: ").append(toIndentedString(paymentDate)).append("\n"); + sb.append(" fractionalUnitsCashPrice: ").append(toIndentedString(fractionalUnitsCashPrice)).append("\n"); + sb.append(" fractionalUnitsCashCurrency: ").append(toIndentedString(fractionalUnitsCashCurrency)).append("\n"); + sb.append(" securityOfferElections: ").append(toIndentedString(securityOfferElections)).append("\n"); + sb.append(" cashOfferElections: ").append(toIndentedString(cashOfferElections)).append("\n"); + sb.append(" lapseElections: ").append(toIndentedString(lapseElections)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("instrumentEventType"); + openapiFields.add("announcementDate"); + openapiFields.add("exDate"); + openapiFields.add("recordDate"); + openapiFields.add("paymentDate"); + openapiFields.add("fractionalUnitsCashPrice"); + openapiFields.add("fractionalUnitsCashCurrency"); + openapiFields.add("securityOfferElections"); + openapiFields.add("cashOfferElections"); + openapiFields.add("lapseElections"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("exDate"); + openapiRequiredFields.add("paymentDate"); + openapiRequiredFields.add("instrumentEventType"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to BonusIssueEvent + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!BonusIssueEvent.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in BonusIssueEvent is not found in the empty JSON string", BonusIssueEvent.openapiRequiredFields.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : BonusIssueEvent.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!BonusIssueEvent.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'BonusIssueEvent' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(BonusIssueEvent.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, BonusIssueEvent value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public BonusIssueEvent read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of BonusIssueEvent given an JSON string + * + * @param jsonString JSON string + * @return An instance of BonusIssueEvent + * @throws IOException if the JSON string is invalid with respect to BonusIssueEvent + */ + public static BonusIssueEvent fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, BonusIssueEvent.class); + } + + /** + * Convert an instance of BonusIssueEvent to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} diff --git a/sdk/src/main/java/com/finbourne/lusid/model/ChangeInterval.java b/sdk/src/main/java/com/finbourne/lusid/model/ChangeInterval.java new file mode 100644 index 00000000000..1c945ce2d2b --- /dev/null +++ b/sdk/src/main/java/com/finbourne/lusid/model/ChangeInterval.java @@ -0,0 +1,488 @@ +/* + * LUSID API + * + * Contact: info@finbourne.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +package com.finbourne.lusid.model; + +import java.util.Objects; +import com.finbourne.lusid.model.EffectiveRange; +import com.finbourne.lusid.model.PropertyValue; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.finbourne.lusid.JSON; + +/** + * Defines a change that occured for an entity + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class ChangeInterval { + public static final String SERIALIZED_NAME_AS_AT_MODIFIED = "asAtModified"; + @SerializedName(SERIALIZED_NAME_AS_AT_MODIFIED) + private OffsetDateTime asAtModified; + + public static final String SERIALIZED_NAME_USER_ID_MODIFIED = "userIdModified"; + @SerializedName(SERIALIZED_NAME_USER_ID_MODIFIED) + private String userIdModified; + + public static final String SERIALIZED_NAME_REQUEST_ID_MODIFIED = "requestIdModified"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID_MODIFIED) + private String requestIdModified; + + public static final String SERIALIZED_NAME_AS_AT_VERSION_NUMBER = "asAtVersionNumber"; + @SerializedName(SERIALIZED_NAME_AS_AT_VERSION_NUMBER) + private Integer asAtVersionNumber; + + public static final String SERIALIZED_NAME_STAGED_MODIFICATION_ID_MODIFIED = "stagedModificationIdModified"; + @SerializedName(SERIALIZED_NAME_STAGED_MODIFICATION_ID_MODIFIED) + private String stagedModificationIdModified; + + public static final String SERIALIZED_NAME_ACTION = "action"; + @SerializedName(SERIALIZED_NAME_ACTION) + private String action; + + public static final String SERIALIZED_NAME_ATTRIBUTE_NAME = "attributeName"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTE_NAME) + private String attributeName; + + public static final String SERIALIZED_NAME_PREVIOUS_VALUE = "previousValue"; + @SerializedName(SERIALIZED_NAME_PREVIOUS_VALUE) + private PropertyValue previousValue; + + public static final String SERIALIZED_NAME_NEW_VALUE = "newValue"; + @SerializedName(SERIALIZED_NAME_NEW_VALUE) + private PropertyValue newValue; + + public static final String SERIALIZED_NAME_EFFECTIVE_RANGE = "effectiveRange"; + @SerializedName(SERIALIZED_NAME_EFFECTIVE_RANGE) + private EffectiveRange effectiveRange; + + public ChangeInterval() { + } + + public ChangeInterval asAtModified(OffsetDateTime asAtModified) { + + this.asAtModified = asAtModified; + return this; + } + + /** + * The date/time of the change. + * @return asAtModified + **/ + @jakarta.annotation.Nullable + public OffsetDateTime getAsAtModified() { + return asAtModified; + } + + + public void setAsAtModified(OffsetDateTime asAtModified) { + this.asAtModified = asAtModified; + } + + + public ChangeInterval userIdModified(String userIdModified) { + + this.userIdModified = userIdModified; + return this; + } + + /** + * The unique identifier of the user that made the change. + * @return userIdModified + **/ + @jakarta.annotation.Nullable + public String getUserIdModified() { + return userIdModified; + } + + + public void setUserIdModified(String userIdModified) { + this.userIdModified = userIdModified; + } + + + public ChangeInterval requestIdModified(String requestIdModified) { + + this.requestIdModified = requestIdModified; + return this; + } + + /** + * The unique identifier of the request that the changes were part of. + * @return requestIdModified + **/ + @jakarta.annotation.Nullable + public String getRequestIdModified() { + return requestIdModified; + } + + + public void setRequestIdModified(String requestIdModified) { + this.requestIdModified = requestIdModified; + } + + + public ChangeInterval asAtVersionNumber(Integer asAtVersionNumber) { + + this.asAtVersionNumber = asAtVersionNumber; + return this; + } + + /** + * The version number for the entity (the entity was created at version 1). This may refer to the version number of a changed related entity, not a change for the entity itself. + * @return asAtVersionNumber + **/ + @jakarta.annotation.Nullable + public Integer getAsAtVersionNumber() { + return asAtVersionNumber; + } + + + public void setAsAtVersionNumber(Integer asAtVersionNumber) { + this.asAtVersionNumber = asAtVersionNumber; + } + + + public ChangeInterval stagedModificationIdModified(String stagedModificationIdModified) { + + this.stagedModificationIdModified = stagedModificationIdModified; + return this; + } + + /** + * The id of the staged modification that was approved. Will be null if the change didn't come from a staged modification. + * @return stagedModificationIdModified + **/ + @jakarta.annotation.Nullable + public String getStagedModificationIdModified() { + return stagedModificationIdModified; + } + + + public void setStagedModificationIdModified(String stagedModificationIdModified) { + this.stagedModificationIdModified = stagedModificationIdModified; + } + + + public ChangeInterval action(String action) { + + this.action = action; + return this; + } + + /** + * The action performed on the entity. + * @return action + **/ + @jakarta.annotation.Nullable + public String getAction() { + return action; + } + + + public void setAction(String action) { + this.action = action; + } + + + public ChangeInterval attributeName(String attributeName) { + + this.attributeName = attributeName; + return this; + } + + /** + * The name of the field or property that has been changed. + * @return attributeName + **/ + @jakarta.annotation.Nullable + public String getAttributeName() { + return attributeName; + } + + + public void setAttributeName(String attributeName) { + this.attributeName = attributeName; + } + + + public ChangeInterval previousValue(PropertyValue previousValue) { + + this.previousValue = previousValue; + return this; + } + + /** + * Get previousValue + * @return previousValue + **/ + @jakarta.annotation.Nullable + public PropertyValue getPreviousValue() { + return previousValue; + } + + + public void setPreviousValue(PropertyValue previousValue) { + this.previousValue = previousValue; + } + + + public ChangeInterval newValue(PropertyValue newValue) { + + this.newValue = newValue; + return this; + } + + /** + * Get newValue + * @return newValue + **/ + @jakarta.annotation.Nullable + public PropertyValue getNewValue() { + return newValue; + } + + + public void setNewValue(PropertyValue newValue) { + this.newValue = newValue; + } + + + public ChangeInterval effectiveRange(EffectiveRange effectiveRange) { + + this.effectiveRange = effectiveRange; + return this; + } + + /** + * Get effectiveRange + * @return effectiveRange + **/ + @jakarta.annotation.Nullable + public EffectiveRange getEffectiveRange() { + return effectiveRange; + } + + + public void setEffectiveRange(EffectiveRange effectiveRange) { + this.effectiveRange = effectiveRange; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ChangeInterval changeInterval = (ChangeInterval) o; + return Objects.equals(this.asAtModified, changeInterval.asAtModified) && + Objects.equals(this.userIdModified, changeInterval.userIdModified) && + Objects.equals(this.requestIdModified, changeInterval.requestIdModified) && + Objects.equals(this.asAtVersionNumber, changeInterval.asAtVersionNumber) && + Objects.equals(this.stagedModificationIdModified, changeInterval.stagedModificationIdModified) && + Objects.equals(this.action, changeInterval.action) && + Objects.equals(this.attributeName, changeInterval.attributeName) && + Objects.equals(this.previousValue, changeInterval.previousValue) && + Objects.equals(this.newValue, changeInterval.newValue) && + Objects.equals(this.effectiveRange, changeInterval.effectiveRange); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(asAtModified, userIdModified, requestIdModified, asAtVersionNumber, stagedModificationIdModified, action, attributeName, previousValue, newValue, effectiveRange); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ChangeInterval {\n"); + sb.append(" asAtModified: ").append(toIndentedString(asAtModified)).append("\n"); + sb.append(" userIdModified: ").append(toIndentedString(userIdModified)).append("\n"); + sb.append(" requestIdModified: ").append(toIndentedString(requestIdModified)).append("\n"); + sb.append(" asAtVersionNumber: ").append(toIndentedString(asAtVersionNumber)).append("\n"); + sb.append(" stagedModificationIdModified: ").append(toIndentedString(stagedModificationIdModified)).append("\n"); + sb.append(" action: ").append(toIndentedString(action)).append("\n"); + sb.append(" attributeName: ").append(toIndentedString(attributeName)).append("\n"); + sb.append(" previousValue: ").append(toIndentedString(previousValue)).append("\n"); + sb.append(" newValue: ").append(toIndentedString(newValue)).append("\n"); + sb.append(" effectiveRange: ").append(toIndentedString(effectiveRange)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("asAtModified"); + openapiFields.add("userIdModified"); + openapiFields.add("requestIdModified"); + openapiFields.add("asAtVersionNumber"); + openapiFields.add("stagedModificationIdModified"); + openapiFields.add("action"); + openapiFields.add("attributeName"); + openapiFields.add("previousValue"); + openapiFields.add("newValue"); + openapiFields.add("effectiveRange"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to ChangeInterval + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ChangeInterval.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ChangeInterval is not found in the empty JSON string", ChangeInterval.openapiRequiredFields.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("userIdModified") != null && !jsonObj.get("userIdModified").isJsonNull()) && !jsonObj.get("userIdModified").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `userIdModified` to be a primitive type in the JSON string but got `%s`", jsonObj.get("userIdModified").toString())); + } + if ((jsonObj.get("requestIdModified") != null && !jsonObj.get("requestIdModified").isJsonNull()) && !jsonObj.get("requestIdModified").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `requestIdModified` to be a primitive type in the JSON string but got `%s`", jsonObj.get("requestIdModified").toString())); + } + if ((jsonObj.get("stagedModificationIdModified") != null && !jsonObj.get("stagedModificationIdModified").isJsonNull()) && !jsonObj.get("stagedModificationIdModified").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `stagedModificationIdModified` to be a primitive type in the JSON string but got `%s`", jsonObj.get("stagedModificationIdModified").toString())); + } + if ((jsonObj.get("action") != null && !jsonObj.get("action").isJsonNull()) && !jsonObj.get("action").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `action` to be a primitive type in the JSON string but got `%s`", jsonObj.get("action").toString())); + } + if ((jsonObj.get("attributeName") != null && !jsonObj.get("attributeName").isJsonNull()) && !jsonObj.get("attributeName").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `attributeName` to be a primitive type in the JSON string but got `%s`", jsonObj.get("attributeName").toString())); + } + // validate the optional field `previousValue` + if (jsonObj.get("previousValue") != null && !jsonObj.get("previousValue").isJsonNull()) { + PropertyValue.validateJsonElement(jsonObj.get("previousValue")); + } + // validate the optional field `newValue` + if (jsonObj.get("newValue") != null && !jsonObj.get("newValue").isJsonNull()) { + PropertyValue.validateJsonElement(jsonObj.get("newValue")); + } + // validate the optional field `effectiveRange` + if (jsonObj.get("effectiveRange") != null && !jsonObj.get("effectiveRange").isJsonNull()) { + EffectiveRange.validateJsonElement(jsonObj.get("effectiveRange")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ChangeInterval.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ChangeInterval' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ChangeInterval.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ChangeInterval value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ChangeInterval read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ChangeInterval given an JSON string + * + * @param jsonString JSON string + * @return An instance of ChangeInterval + * @throws IOException if the JSON string is invalid with respect to ChangeInterval + */ + public static ChangeInterval fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ChangeInterval.class); + } + + /** + * Convert an instance of ChangeInterval to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} diff --git a/sdk/src/main/java/com/finbourne/lusid/model/ChangeIntervalWithOrderManagementDetail.java b/sdk/src/main/java/com/finbourne/lusid/model/ChangeIntervalWithOrderManagementDetail.java index f57aeeae0c5..9c3e1f6c160 100644 --- a/sdk/src/main/java/com/finbourne/lusid/model/ChangeIntervalWithOrderManagementDetail.java +++ b/sdk/src/main/java/com/finbourne/lusid/model/ChangeIntervalWithOrderManagementDetail.java @@ -11,8 +11,8 @@ package com.finbourne.lusid.model; import java.util.Objects; +import com.finbourne.lusid.model.EffectiveRange; import com.finbourne.lusid.model.PropertyValue; -import com.finbourne.lusid.model.StagedModificationEffectiveRange; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -101,7 +101,7 @@ public class ChangeIntervalWithOrderManagementDetail { public static final String SERIALIZED_NAME_EFFECTIVE_RANGE = "effectiveRange"; @SerializedName(SERIALIZED_NAME_EFFECTIVE_RANGE) - private StagedModificationEffectiveRange effectiveRange; + private EffectiveRange effectiveRange; public ChangeIntervalWithOrderManagementDetail() { } @@ -345,7 +345,7 @@ public void setNewValue(PropertyValue newValue) { } - public ChangeIntervalWithOrderManagementDetail effectiveRange(StagedModificationEffectiveRange effectiveRange) { + public ChangeIntervalWithOrderManagementDetail effectiveRange(EffectiveRange effectiveRange) { this.effectiveRange = effectiveRange; return this; @@ -356,12 +356,12 @@ public ChangeIntervalWithOrderManagementDetail effectiveRange(StagedModification * @return effectiveRange **/ @jakarta.annotation.Nullable - public StagedModificationEffectiveRange getEffectiveRange() { + public EffectiveRange getEffectiveRange() { return effectiveRange; } - public void setEffectiveRange(StagedModificationEffectiveRange effectiveRange) { + public void setEffectiveRange(EffectiveRange effectiveRange) { this.effectiveRange = effectiveRange; } @@ -502,7 +502,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } // validate the optional field `effectiveRange` if (jsonObj.get("effectiveRange") != null && !jsonObj.get("effectiveRange").isJsonNull()) { - StagedModificationEffectiveRange.validateJsonElement(jsonObj.get("effectiveRange")); + EffectiveRange.validateJsonElement(jsonObj.get("effectiveRange")); } } diff --git a/sdk/src/main/java/com/finbourne/lusid/model/EffectiveRange.java b/sdk/src/main/java/com/finbourne/lusid/model/EffectiveRange.java new file mode 100644 index 00000000000..10cb98290de --- /dev/null +++ b/sdk/src/main/java/com/finbourne/lusid/model/EffectiveRange.java @@ -0,0 +1,223 @@ +/* + * LUSID API + * + * Contact: info@finbourne.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +package com.finbourne.lusid.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.finbourne.lusid.JSON; + +/** + * EffectiveRange + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class EffectiveRange { + public static final String SERIALIZED_NAME_FROM_DATE = "fromDate"; + @SerializedName(SERIALIZED_NAME_FROM_DATE) + private OffsetDateTime fromDate; + + public static final String SERIALIZED_NAME_UNTIL_DATE = "untilDate"; + @SerializedName(SERIALIZED_NAME_UNTIL_DATE) + private OffsetDateTime untilDate; + + public EffectiveRange() { + } + + public EffectiveRange fromDate(OffsetDateTime fromDate) { + + this.fromDate = fromDate; + return this; + } + + /** + * The effective from datetime that this range applies to. + * @return fromDate + **/ + @jakarta.annotation.Nullable + public OffsetDateTime getFromDate() { + return fromDate; + } + + + public void setFromDate(OffsetDateTime fromDate) { + this.fromDate = fromDate; + } + + + public EffectiveRange untilDate(OffsetDateTime untilDate) { + + this.untilDate = untilDate; + return this; + } + + /** + * The effective from datetime that this range applies to. + * @return untilDate + **/ + @jakarta.annotation.Nullable + public OffsetDateTime getUntilDate() { + return untilDate; + } + + + public void setUntilDate(OffsetDateTime untilDate) { + this.untilDate = untilDate; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EffectiveRange effectiveRange = (EffectiveRange) o; + return Objects.equals(this.fromDate, effectiveRange.fromDate) && + Objects.equals(this.untilDate, effectiveRange.untilDate); + } + + @Override + public int hashCode() { + return Objects.hash(fromDate, untilDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EffectiveRange {\n"); + sb.append(" fromDate: ").append(toIndentedString(fromDate)).append("\n"); + sb.append(" untilDate: ").append(toIndentedString(untilDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("fromDate"); + openapiFields.add("untilDate"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to EffectiveRange + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!EffectiveRange.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in EffectiveRange is not found in the empty JSON string", EffectiveRange.openapiRequiredFields.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!EffectiveRange.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'EffectiveRange' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(EffectiveRange.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, EffectiveRange value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public EffectiveRange read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of EffectiveRange given an JSON string + * + * @param jsonString JSON string + * @return An instance of EffectiveRange + * @throws IOException if the JSON string is invalid with respect to EffectiveRange + */ + public static EffectiveRange fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, EffectiveRange.class); + } + + /** + * Convert an instance of EffectiveRange to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} diff --git a/sdk/src/main/java/com/finbourne/lusid/model/InstrumentEvent.java b/sdk/src/main/java/com/finbourne/lusid/model/InstrumentEvent.java index 115cc226af8..4050fe167e2 100644 --- a/sdk/src/main/java/com/finbourne/lusid/model/InstrumentEvent.java +++ b/sdk/src/main/java/com/finbourne/lusid/model/InstrumentEvent.java @@ -50,7 +50,7 @@ @jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") public class InstrumentEvent { /** - * The Type of Event. The available values are: TransitionEvent, InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent, CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent, ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent, BondCouponEvent, DividendReinvestmentEvent, AccumulationEvent, BondPrincipalEvent, DividendOptionEvent, MaturityEvent, FxForwardSettlementEvent, ExpiryEvent, ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent, SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent, CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent, MbsPrincipalEvent + * The Type of Event. The available values are: TransitionEvent, InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent, CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent, ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent, BondCouponEvent, DividendReinvestmentEvent, AccumulationEvent, BondPrincipalEvent, DividendOptionEvent, MaturityEvent, FxForwardSettlementEvent, ExpiryEvent, ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent, SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent, CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent, MbsPrincipalEvent, BonusIssueEvent */ @JsonAdapter(InstrumentEventTypeEnum.Adapter.class) public enum InstrumentEventTypeEnum { @@ -124,7 +124,9 @@ public enum InstrumentEventTypeEnum { MBSCOUPONEVENT("MbsCouponEvent"), - MBSPRINCIPALEVENT("MbsPrincipalEvent"); + MBSPRINCIPALEVENT("MbsPrincipalEvent"), + + BONUSISSUEEVENT("BonusIssueEvent"); private String value; @@ -178,7 +180,7 @@ public InstrumentEvent instrumentEventType(InstrumentEventTypeEnum instrumentEve } /** - * The Type of Event. The available values are: TransitionEvent, InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent, CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent, ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent, BondCouponEvent, DividendReinvestmentEvent, AccumulationEvent, BondPrincipalEvent, DividendOptionEvent, MaturityEvent, FxForwardSettlementEvent, ExpiryEvent, ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent, SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent, CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent, MbsPrincipalEvent + * The Type of Event. The available values are: TransitionEvent, InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent, CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent, ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent, BondCouponEvent, DividendReinvestmentEvent, AccumulationEvent, BondPrincipalEvent, DividendOptionEvent, MaturityEvent, FxForwardSettlementEvent, ExpiryEvent, ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent, SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent, CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent, MbsPrincipalEvent, BonusIssueEvent * @return instrumentEventType **/ @jakarta.annotation.Nonnull @@ -274,6 +276,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti case "BondPrincipalEvent": BondPrincipalEvent.validateJsonElement(jsonElement); break; + case "BonusIssueEvent": + BonusIssueEvent.validateJsonElement(jsonElement); + break; case "CapitalDistributionEvent": CapitalDistributionEvent.validateJsonElement(jsonElement); break; diff --git a/sdk/src/main/java/com/finbourne/lusid/model/InstrumentEventHolder.java b/sdk/src/main/java/com/finbourne/lusid/model/InstrumentEventHolder.java index 03016a672b3..137035a6835 100644 --- a/sdk/src/main/java/com/finbourne/lusid/model/InstrumentEventHolder.java +++ b/sdk/src/main/java/com/finbourne/lusid/model/InstrumentEventHolder.java @@ -86,6 +86,10 @@ public class InstrumentEventHolder { @SerializedName(SERIALIZED_NAME_EVENT_DATE_RANGE) private EventDateRange eventDateRange; + public static final String SERIALIZED_NAME_COMPLETENESS = "completeness"; + @SerializedName(SERIALIZED_NAME_COMPLETENESS) + private String completeness; + public static final String SERIALIZED_NAME_INSTRUMENT_EVENT = "instrumentEvent"; @SerializedName(SERIALIZED_NAME_INSTRUMENT_EVENT) private InstrumentEvent instrumentEvent; @@ -105,6 +109,14 @@ public class InstrumentEventHolder { public InstrumentEventHolder() { } + + public InstrumentEventHolder( + String completeness + ) { + this(); + this.completeness = completeness; + } + public InstrumentEventHolder instrumentEventId(String instrumentEventId) { this.instrumentEventId = instrumentEventId; @@ -260,6 +272,18 @@ public void setEventDateRange(EventDateRange eventDateRange) { } + /** + * Is the event Economically Complete, or is it missing some DataDependent fields (Incomplete). + * @return completeness + **/ + @jakarta.annotation.Nullable + public String getCompleteness() { + return completeness; + } + + + + public InstrumentEventHolder instrumentEvent(InstrumentEvent instrumentEvent) { this.instrumentEvent = instrumentEvent; @@ -369,6 +393,7 @@ public boolean equals(Object o) { Objects.equals(this.instrumentScope, instrumentEventHolder.instrumentScope) && Objects.equals(this.description, instrumentEventHolder.description) && Objects.equals(this.eventDateRange, instrumentEventHolder.eventDateRange) && + Objects.equals(this.completeness, instrumentEventHolder.completeness) && Objects.equals(this.instrumentEvent, instrumentEventHolder.instrumentEvent) && Objects.equals(this.properties, instrumentEventHolder.properties) && Objects.equals(this.sequenceNumber, instrumentEventHolder.sequenceNumber) && @@ -381,7 +406,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(instrumentEventId, corporateActionSourceId, instrumentIdentifiers, lusidInstrumentId, instrumentScope, description, eventDateRange, instrumentEvent, properties, sequenceNumber, participationType); + return Objects.hash(instrumentEventId, corporateActionSourceId, instrumentIdentifiers, lusidInstrumentId, instrumentScope, description, eventDateRange, completeness, instrumentEvent, properties, sequenceNumber, participationType); } private static int hashCodeNullable(JsonNullable a) { @@ -402,6 +427,7 @@ public String toString() { sb.append(" instrumentScope: ").append(toIndentedString(instrumentScope)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" eventDateRange: ").append(toIndentedString(eventDateRange)).append("\n"); + sb.append(" completeness: ").append(toIndentedString(completeness)).append("\n"); sb.append(" instrumentEvent: ").append(toIndentedString(instrumentEvent)).append("\n"); sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append(" sequenceNumber: ").append(toIndentedString(sequenceNumber)).append("\n"); @@ -435,6 +461,7 @@ private String toIndentedString(Object o) { openapiFields.add("instrumentScope"); openapiFields.add("description"); openapiFields.add("eventDateRange"); + openapiFields.add("completeness"); openapiFields.add("instrumentEvent"); openapiFields.add("properties"); openapiFields.add("sequenceNumber"); @@ -489,6 +516,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } // validate the required field `eventDateRange` EventDateRange.validateJsonElement(jsonObj.get("eventDateRange")); + if ((jsonObj.get("completeness") != null && !jsonObj.get("completeness").isJsonNull()) && !jsonObj.get("completeness").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `completeness` to be a primitive type in the JSON string but got `%s`", jsonObj.get("completeness").toString())); + } // validate the required field `instrumentEvent` InstrumentEvent.validateJsonElement(jsonObj.get("instrumentEvent")); if (jsonObj.get("properties") != null && !jsonObj.get("properties").isJsonNull()) { diff --git a/sdk/src/main/java/com/finbourne/lusid/model/InstrumentEventType.java b/sdk/src/main/java/com/finbourne/lusid/model/InstrumentEventType.java index 35c5a52da58..0ad7ceb1fe1 100644 --- a/sdk/src/main/java/com/finbourne/lusid/model/InstrumentEventType.java +++ b/sdk/src/main/java/com/finbourne/lusid/model/InstrumentEventType.java @@ -95,7 +95,9 @@ public enum InstrumentEventType { MBSCOUPONEVENT("MbsCouponEvent"), - MBSPRINCIPALEVENT("MbsPrincipalEvent"); + MBSPRINCIPALEVENT("MbsPrincipalEvent"), + + BONUSISSUEEVENT("BonusIssueEvent"); private String value; diff --git a/sdk/src/main/java/com/finbourne/lusid/model/InstrumentType.java b/sdk/src/main/java/com/finbourne/lusid/model/InstrumentType.java index a09a1468e0c..1377379f268 100644 --- a/sdk/src/main/java/com/finbourne/lusid/model/InstrumentType.java +++ b/sdk/src/main/java/com/finbourne/lusid/model/InstrumentType.java @@ -103,7 +103,9 @@ public enum InstrumentType { UNSETTLEDCASH("UnsettledCash"), - CASH("Cash"); + CASH("Cash"), + + MASTEREDINSTRUMENT("MasteredInstrument"); private String value; diff --git a/sdk/src/main/java/com/finbourne/lusid/model/LapseElection.java b/sdk/src/main/java/com/finbourne/lusid/model/LapseElection.java new file mode 100644 index 00000000000..e0620eda0ae --- /dev/null +++ b/sdk/src/main/java/com/finbourne/lusid/model/LapseElection.java @@ -0,0 +1,261 @@ +/* + * LUSID API + * + * Contact: info@finbourne.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +package com.finbourne.lusid.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.finbourne.lusid.JSON; + +/** + * Lapse election. + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class LapseElection { + public static final String SERIALIZED_NAME_ELECTION_KEY = "electionKey"; + @SerializedName(SERIALIZED_NAME_ELECTION_KEY) + private String electionKey; + + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + public static final String SERIALIZED_NAME_IS_CHOSEN = "isChosen"; + @SerializedName(SERIALIZED_NAME_IS_CHOSEN) + private Boolean isChosen; + + public LapseElection() { + } + + public LapseElection electionKey(String electionKey) { + + this.electionKey = electionKey; + return this; + } + + /** + * Unique key associated to this election + * @return electionKey + **/ + @jakarta.annotation.Nonnull + public String getElectionKey() { + return electionKey; + } + + + public void setElectionKey(String electionKey) { + this.electionKey = electionKey; + } + + + public LapseElection isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Is this election automatically applied in the absence of an election having been made. May only be true for one election if multiple are provided. + * @return isDefault + **/ + @jakarta.annotation.Nullable + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public LapseElection isChosen(Boolean isChosen) { + + this.isChosen = isChosen; + return this; + } + + /** + * Is this the election that has been explicitly chosen from multiple options. + * @return isChosen + **/ + @jakarta.annotation.Nullable + public Boolean getIsChosen() { + return isChosen; + } + + + public void setIsChosen(Boolean isChosen) { + this.isChosen = isChosen; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LapseElection lapseElection = (LapseElection) o; + return Objects.equals(this.electionKey, lapseElection.electionKey) && + Objects.equals(this.isDefault, lapseElection.isDefault) && + Objects.equals(this.isChosen, lapseElection.isChosen); + } + + @Override + public int hashCode() { + return Objects.hash(electionKey, isDefault, isChosen); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LapseElection {\n"); + sb.append(" electionKey: ").append(toIndentedString(electionKey)).append("\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" isChosen: ").append(toIndentedString(isChosen)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("electionKey"); + openapiFields.add("isDefault"); + openapiFields.add("isChosen"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("electionKey"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to LapseElection + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!LapseElection.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in LapseElection is not found in the empty JSON string", LapseElection.openapiRequiredFields.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : LapseElection.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("electionKey").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `electionKey` to be a primitive type in the JSON string but got `%s`", jsonObj.get("electionKey").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!LapseElection.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'LapseElection' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(LapseElection.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, LapseElection value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public LapseElection read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of LapseElection given an JSON string + * + * @param jsonString JSON string + * @return An instance of LapseElection + * @throws IOException if the JSON string is invalid with respect to LapseElection + */ + public static LapseElection fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, LapseElection.class); + } + + /** + * Convert an instance of LapseElection to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} diff --git a/sdk/src/main/java/com/finbourne/lusid/model/LusidInstrument.java b/sdk/src/main/java/com/finbourne/lusid/model/LusidInstrument.java index 49f202fc6c8..a6264f383ac 100644 --- a/sdk/src/main/java/com/finbourne/lusid/model/LusidInstrument.java +++ b/sdk/src/main/java/com/finbourne/lusid/model/LusidInstrument.java @@ -50,7 +50,7 @@ @jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") public class LusidInstrument { /** - * The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash + * The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash, MasteredInstrument */ @JsonAdapter(InstrumentTypeEnum.Adapter.class) public enum InstrumentTypeEnum { @@ -132,7 +132,9 @@ public enum InstrumentTypeEnum { UNSETTLEDCASH("UnsettledCash"), - CASH("Cash"); + CASH("Cash"), + + MASTEREDINSTRUMENT("MasteredInstrument"); private String value; @@ -186,7 +188,7 @@ public LusidInstrument instrumentType(InstrumentTypeEnum instrumentType) { } /** - * The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash + * The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash, MasteredInstrument * @return instrumentType **/ @jakarta.annotation.Nonnull @@ -357,6 +359,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti case "InterestRateSwaption": InterestRateSwaption.validateJsonElement(jsonElement); break; + case "MasteredInstrument": + MasteredInstrument.validateJsonElement(jsonElement); + break; case "ReferenceInstrument": ReferenceInstrument.validateJsonElement(jsonElement); break; diff --git a/sdk/src/main/java/com/finbourne/lusid/model/MasteredInstrument.java b/sdk/src/main/java/com/finbourne/lusid/model/MasteredInstrument.java new file mode 100644 index 00000000000..147ad30e3c2 --- /dev/null +++ b/sdk/src/main/java/com/finbourne/lusid/model/MasteredInstrument.java @@ -0,0 +1,361 @@ +/* + * LUSID API + * + * Contact: info@finbourne.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +package com.finbourne.lusid.model; + +import java.util.Objects; +import com.finbourne.lusid.model.LusidInstrument; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.finbourne.lusid.JSON; + +/** + * LUSID representation of a reference to another instrument that has already been upserted (Mastered) + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class MasteredInstrument extends LusidInstrument { + public static final String SERIALIZED_NAME_IDENTIFIERS = "identifiers"; + @SerializedName(SERIALIZED_NAME_IDENTIFIERS) + private Map identifiers = new HashMap<>(); + + public static final String SERIALIZED_NAME_ASSET_CLASS = "assetClass"; + @SerializedName(SERIALIZED_NAME_ASSET_CLASS) + private String assetClass; + + public static final String SERIALIZED_NAME_MASTERED_DOM_CCY = "masteredDomCcy"; + @SerializedName(SERIALIZED_NAME_MASTERED_DOM_CCY) + private String masteredDomCcy; + + public static final String SERIALIZED_NAME_MASTERED_INSTRUMENT_TYPE = "masteredInstrumentType"; + @SerializedName(SERIALIZED_NAME_MASTERED_INSTRUMENT_TYPE) + private String masteredInstrumentType; + + public static final String SERIALIZED_NAME_MASTERED_LUSID_INSTRUMENT_ID = "masteredLusidInstrumentId"; + @SerializedName(SERIALIZED_NAME_MASTERED_LUSID_INSTRUMENT_ID) + private String masteredLusidInstrumentId; + + public static final String SERIALIZED_NAME_MASTERED_NAME = "masteredName"; + @SerializedName(SERIALIZED_NAME_MASTERED_NAME) + private String masteredName; + + public static final String SERIALIZED_NAME_MASTERED_SCOPE = "masteredScope"; + @SerializedName(SERIALIZED_NAME_MASTERED_SCOPE) + private String masteredScope; + + public MasteredInstrument() { + // this.instrumentType = this.getClass().getSimpleName(); + } + + + public MasteredInstrument( + String assetClass, + String masteredDomCcy, + String masteredInstrumentType, + String masteredLusidInstrumentId, + String masteredName, + String masteredScope + ) { + this(); + this.assetClass = assetClass; + this.masteredDomCcy = masteredDomCcy; + this.masteredInstrumentType = masteredInstrumentType; + this.masteredLusidInstrumentId = masteredLusidInstrumentId; + this.masteredName = masteredName; + this.masteredScope = masteredScope; + } + + public MasteredInstrument identifiers(Map identifiers) { + + this.identifiers = identifiers; + return this; + } + + public MasteredInstrument putIdentifiersItem(String key, String identifiersItem) { + if (this.identifiers == null) { + this.identifiers = new HashMap<>(); + } + this.identifiers.put(key, identifiersItem); + return this; + } + + /** + * Dictionary of identifiers of the mastered instrument + * @return identifiers + **/ + @jakarta.annotation.Nonnull + public Map getIdentifiers() { + return identifiers; + } + + + public void setIdentifiers(Map identifiers) { + this.identifiers = identifiers; + } + + + /** + * Asset class of the mastered instrument - read only field Supported string (enumeration) values are: [InterestRates, FX, Inflation, Equities, Credit, Commodities, Money]. + * @return assetClass + **/ + @jakarta.annotation.Nullable + public String getAssetClass() { + return assetClass; + } + + + + + /** + * DomCcy of the Instrument that Mastered Instrument points to - read only field + * @return masteredDomCcy + **/ + @jakarta.annotation.Nullable + public String getMasteredDomCcy() { + return masteredDomCcy; + } + + + + + /** + * Type of the Instrument that Mastered Instrument points to - read only field + * @return masteredInstrumentType + **/ + @jakarta.annotation.Nullable + public String getMasteredInstrumentType() { + return masteredInstrumentType; + } + + + + + /** + * Luid of the Instrument that Mastered Instrument points to - read only field + * @return masteredLusidInstrumentId + **/ + @jakarta.annotation.Nullable + public String getMasteredLusidInstrumentId() { + return masteredLusidInstrumentId; + } + + + + + /** + * Name of the Instrument that Mastered Instrument points to - read only field + * @return masteredName + **/ + @jakarta.annotation.Nullable + public String getMasteredName() { + return masteredName; + } + + + + + /** + * Scope of the Instrument that Mastered Instrument points to - read only field + * @return masteredScope + **/ + @jakarta.annotation.Nullable + public String getMasteredScope() { + return masteredScope; + } + + + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MasteredInstrument masteredInstrument = (MasteredInstrument) o; + return Objects.equals(this.identifiers, masteredInstrument.identifiers) && + Objects.equals(this.assetClass, masteredInstrument.assetClass) && + Objects.equals(this.masteredDomCcy, masteredInstrument.masteredDomCcy) && + Objects.equals(this.masteredInstrumentType, masteredInstrument.masteredInstrumentType) && + Objects.equals(this.masteredLusidInstrumentId, masteredInstrument.masteredLusidInstrumentId) && + Objects.equals(this.masteredName, masteredInstrument.masteredName) && + Objects.equals(this.masteredScope, masteredInstrument.masteredScope) && + super.equals(o); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(identifiers, assetClass, masteredDomCcy, masteredInstrumentType, masteredLusidInstrumentId, masteredName, masteredScope, super.hashCode()); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MasteredInstrument {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" identifiers: ").append(toIndentedString(identifiers)).append("\n"); + sb.append(" assetClass: ").append(toIndentedString(assetClass)).append("\n"); + sb.append(" masteredDomCcy: ").append(toIndentedString(masteredDomCcy)).append("\n"); + sb.append(" masteredInstrumentType: ").append(toIndentedString(masteredInstrumentType)).append("\n"); + sb.append(" masteredLusidInstrumentId: ").append(toIndentedString(masteredLusidInstrumentId)).append("\n"); + sb.append(" masteredName: ").append(toIndentedString(masteredName)).append("\n"); + sb.append(" masteredScope: ").append(toIndentedString(masteredScope)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("instrumentType"); + openapiFields.add("identifiers"); + openapiFields.add("assetClass"); + openapiFields.add("masteredDomCcy"); + openapiFields.add("masteredInstrumentType"); + openapiFields.add("masteredLusidInstrumentId"); + openapiFields.add("masteredName"); + openapiFields.add("masteredScope"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("identifiers"); + openapiRequiredFields.add("instrumentType"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to MasteredInstrument + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!MasteredInstrument.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in MasteredInstrument is not found in the empty JSON string", MasteredInstrument.openapiRequiredFields.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : MasteredInstrument.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!MasteredInstrument.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'MasteredInstrument' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(MasteredInstrument.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, MasteredInstrument value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public MasteredInstrument read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of MasteredInstrument given an JSON string + * + * @param jsonString JSON string + * @return An instance of MasteredInstrument + * @throws IOException if the JSON string is invalid with respect to MasteredInstrument + */ + public static MasteredInstrument fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, MasteredInstrument.class); + } + + /** + * Convert an instance of MasteredInstrument to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} diff --git a/sdk/src/main/java/com/finbourne/lusid/model/ResourceListOfChangeInterval.java b/sdk/src/main/java/com/finbourne/lusid/model/ResourceListOfChangeInterval.java new file mode 100644 index 00000000000..061541af8b0 --- /dev/null +++ b/sdk/src/main/java/com/finbourne/lusid/model/ResourceListOfChangeInterval.java @@ -0,0 +1,380 @@ +/* + * LUSID API + * + * Contact: info@finbourne.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +package com.finbourne.lusid.model; + +import java.util.Objects; +import com.finbourne.lusid.model.ChangeInterval; +import com.finbourne.lusid.model.Link; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.net.URI; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.finbourne.lusid.JSON; + +/** + * ResourceListOfChangeInterval + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class ResourceListOfChangeInterval { + public static final String SERIALIZED_NAME_VALUES = "values"; + @SerializedName(SERIALIZED_NAME_VALUES) + private List values = new ArrayList<>(); + + public static final String SERIALIZED_NAME_HREF = "href"; + @SerializedName(SERIALIZED_NAME_HREF) + private URI href; + + public static final String SERIALIZED_NAME_LINKS = "links"; + @SerializedName(SERIALIZED_NAME_LINKS) + private List links; + + public static final String SERIALIZED_NAME_NEXT_PAGE = "nextPage"; + @SerializedName(SERIALIZED_NAME_NEXT_PAGE) + private String nextPage; + + public static final String SERIALIZED_NAME_PREVIOUS_PAGE = "previousPage"; + @SerializedName(SERIALIZED_NAME_PREVIOUS_PAGE) + private String previousPage; + + public ResourceListOfChangeInterval() { + } + + public ResourceListOfChangeInterval values(List values) { + + this.values = values; + return this; + } + + public ResourceListOfChangeInterval addValuesItem(ChangeInterval valuesItem) { + if (this.values == null) { + this.values = new ArrayList<>(); + } + this.values.add(valuesItem); + return this; + } + + /** + * Get values + * @return values + **/ + @jakarta.annotation.Nonnull + public List getValues() { + return values; + } + + + public void setValues(List values) { + this.values = values; + } + + + public ResourceListOfChangeInterval href(URI href) { + + this.href = href; + return this; + } + + /** + * Get href + * @return href + **/ + @jakarta.annotation.Nullable + public URI getHref() { + return href; + } + + + public void setHref(URI href) { + this.href = href; + } + + + public ResourceListOfChangeInterval links(List links) { + + this.links = links; + return this; + } + + public ResourceListOfChangeInterval addLinksItem(Link linksItem) { + if (this.links == null) { + this.links = new ArrayList<>(); + } + this.links.add(linksItem); + return this; + } + + /** + * Get links + * @return links + **/ + @jakarta.annotation.Nullable + public List getLinks() { + return links; + } + + + public void setLinks(List links) { + this.links = links; + } + + + public ResourceListOfChangeInterval nextPage(String nextPage) { + + this.nextPage = nextPage; + return this; + } + + /** + * Get nextPage + * @return nextPage + **/ + @jakarta.annotation.Nullable + public String getNextPage() { + return nextPage; + } + + + public void setNextPage(String nextPage) { + this.nextPage = nextPage; + } + + + public ResourceListOfChangeInterval previousPage(String previousPage) { + + this.previousPage = previousPage; + return this; + } + + /** + * Get previousPage + * @return previousPage + **/ + @jakarta.annotation.Nullable + public String getPreviousPage() { + return previousPage; + } + + + public void setPreviousPage(String previousPage) { + this.previousPage = previousPage; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ResourceListOfChangeInterval resourceListOfChangeInterval = (ResourceListOfChangeInterval) o; + return Objects.equals(this.values, resourceListOfChangeInterval.values) && + Objects.equals(this.href, resourceListOfChangeInterval.href) && + Objects.equals(this.links, resourceListOfChangeInterval.links) && + Objects.equals(this.nextPage, resourceListOfChangeInterval.nextPage) && + Objects.equals(this.previousPage, resourceListOfChangeInterval.previousPage); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(values, href, links, nextPage, previousPage); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ResourceListOfChangeInterval {\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append(" href: ").append(toIndentedString(href)).append("\n"); + sb.append(" links: ").append(toIndentedString(links)).append("\n"); + sb.append(" nextPage: ").append(toIndentedString(nextPage)).append("\n"); + sb.append(" previousPage: ").append(toIndentedString(previousPage)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("values"); + openapiFields.add("href"); + openapiFields.add("links"); + openapiFields.add("nextPage"); + openapiFields.add("previousPage"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("values"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to ResourceListOfChangeInterval + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ResourceListOfChangeInterval.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ResourceListOfChangeInterval is not found in the empty JSON string", ResourceListOfChangeInterval.openapiRequiredFields.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : ResourceListOfChangeInterval.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // ensure the json data is an array + if (!jsonObj.get("values").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `values` to be an array in the JSON string but got `%s`", jsonObj.get("values").toString())); + } + + JsonArray jsonArrayvalues = jsonObj.getAsJsonArray("values"); + // validate the required field `values` (array) + for (int i = 0; i < jsonArrayvalues.size(); i++) { + ChangeInterval.validateJsonElement(jsonArrayvalues.get(i)); + }; + if ((jsonObj.get("href") != null && !jsonObj.get("href").isJsonNull()) && !jsonObj.get("href").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `href` to be a primitive type in the JSON string but got `%s`", jsonObj.get("href").toString())); + } + if (jsonObj.get("links") != null && !jsonObj.get("links").isJsonNull()) { + JsonArray jsonArraylinks = jsonObj.getAsJsonArray("links"); + if (jsonArraylinks != null) { + // ensure the json data is an array + if (!jsonObj.get("links").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `links` to be an array in the JSON string but got `%s`", jsonObj.get("links").toString())); + } + + // validate the optional field `links` (array) + for (int i = 0; i < jsonArraylinks.size(); i++) { + Link.validateJsonElement(jsonArraylinks.get(i)); + }; + } + } + if ((jsonObj.get("nextPage") != null && !jsonObj.get("nextPage").isJsonNull()) && !jsonObj.get("nextPage").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `nextPage` to be a primitive type in the JSON string but got `%s`", jsonObj.get("nextPage").toString())); + } + if ((jsonObj.get("previousPage") != null && !jsonObj.get("previousPage").isJsonNull()) && !jsonObj.get("previousPage").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `previousPage` to be a primitive type in the JSON string but got `%s`", jsonObj.get("previousPage").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ResourceListOfChangeInterval.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ResourceListOfChangeInterval' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ResourceListOfChangeInterval.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ResourceListOfChangeInterval value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ResourceListOfChangeInterval read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ResourceListOfChangeInterval given an JSON string + * + * @param jsonString JSON string + * @return An instance of ResourceListOfChangeInterval + * @throws IOException if the JSON string is invalid with respect to ResourceListOfChangeInterval + */ + public static ResourceListOfChangeInterval fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ResourceListOfChangeInterval.class); + } + + /** + * Convert an instance of ResourceListOfChangeInterval to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} diff --git a/sdk/src/main/java/com/finbourne/lusid/model/ShareClassDetails.java b/sdk/src/main/java/com/finbourne/lusid/model/ShareClassDetails.java index 1b4cee4b373..d5361b0a884 100644 --- a/sdk/src/main/java/com/finbourne/lusid/model/ShareClassDetails.java +++ b/sdk/src/main/java/com/finbourne/lusid/model/ShareClassDetails.java @@ -58,6 +58,10 @@ public class ShareClassDetails { @SerializedName(SERIALIZED_NAME_INSTRUMENT_SCOPE) private String instrumentScope; + public static final String SERIALIZED_NAME_SHORT_CODE = "shortCode"; + @SerializedName(SERIALIZED_NAME_SHORT_CODE) + private String shortCode; + public static final String SERIALIZED_NAME_DOM_CURRENCY = "domCurrency"; @SerializedName(SERIALIZED_NAME_DOM_CURRENCY) private String domCurrency; @@ -111,6 +115,27 @@ public void setInstrumentScope(String instrumentScope) { } + public ShareClassDetails shortCode(String shortCode) { + + this.shortCode = shortCode; + return this; + } + + /** + * The unique code within the fund for the share class instrument. + * @return shortCode + **/ + @jakarta.annotation.Nullable + public String getShortCode() { + return shortCode; + } + + + public void setShortCode(String shortCode) { + this.shortCode = shortCode; + } + + public ShareClassDetails domCurrency(String domCurrency) { this.domCurrency = domCurrency; @@ -165,6 +190,7 @@ public boolean equals(Object o) { ShareClassDetails shareClassDetails = (ShareClassDetails) o; return Objects.equals(this.lusidInstrumentId, shareClassDetails.lusidInstrumentId) && Objects.equals(this.instrumentScope, shareClassDetails.instrumentScope) && + Objects.equals(this.shortCode, shareClassDetails.shortCode) && Objects.equals(this.domCurrency, shareClassDetails.domCurrency) && Objects.equals(this.instrumentActive, shareClassDetails.instrumentActive); } @@ -175,7 +201,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(lusidInstrumentId, instrumentScope, domCurrency, instrumentActive); + return Objects.hash(lusidInstrumentId, instrumentScope, shortCode, domCurrency, instrumentActive); } private static int hashCodeNullable(JsonNullable a) { @@ -191,6 +217,7 @@ public String toString() { sb.append("class ShareClassDetails {\n"); sb.append(" lusidInstrumentId: ").append(toIndentedString(lusidInstrumentId)).append("\n"); sb.append(" instrumentScope: ").append(toIndentedString(instrumentScope)).append("\n"); + sb.append(" shortCode: ").append(toIndentedString(shortCode)).append("\n"); sb.append(" domCurrency: ").append(toIndentedString(domCurrency)).append("\n"); sb.append(" instrumentActive: ").append(toIndentedString(instrumentActive)).append("\n"); sb.append("}"); @@ -217,6 +244,7 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("lusidInstrumentId"); openapiFields.add("instrumentScope"); + openapiFields.add("shortCode"); openapiFields.add("domCurrency"); openapiFields.add("instrumentActive"); @@ -243,6 +271,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("instrumentScope") != null && !jsonObj.get("instrumentScope").isJsonNull()) && !jsonObj.get("instrumentScope").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `instrumentScope` to be a primitive type in the JSON string but got `%s`", jsonObj.get("instrumentScope").toString())); } + if ((jsonObj.get("shortCode") != null && !jsonObj.get("shortCode").isJsonNull()) && !jsonObj.get("shortCode").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `shortCode` to be a primitive type in the JSON string but got `%s`", jsonObj.get("shortCode").toString())); + } if ((jsonObj.get("domCurrency") != null && !jsonObj.get("domCurrency").isJsonNull()) && !jsonObj.get("domCurrency").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `domCurrency` to be a primitive type in the JSON string but got `%s`", jsonObj.get("domCurrency").toString())); } diff --git a/sdk/src/main/java/com/finbourne/lusid/model/StagedModificationEffectiveRange.java b/sdk/src/main/java/com/finbourne/lusid/model/StagedModificationEffectiveRange.java index edfe59bdf53..a0e1bdd2492 100644 --- a/sdk/src/main/java/com/finbourne/lusid/model/StagedModificationEffectiveRange.java +++ b/sdk/src/main/java/com/finbourne/lusid/model/StagedModificationEffectiveRange.java @@ -68,7 +68,7 @@ public StagedModificationEffectiveRange fromDate(OffsetDateTime fromDate) { } /** - * Time the decision request is made. + * The datetime that this requested change is effective from. * @return fromDate **/ @jakarta.annotation.Nullable @@ -89,7 +89,7 @@ public StagedModificationEffectiveRange untilDate(OffsetDateTime untilDate) { } /** - * ID of user that approved the request. + * The datetime that this requested change is effective until. * @return untilDate **/ @jakarta.annotation.Nullable diff --git a/sdk/src/main/java/com/finbourne/lusid/model/ValuationPointDataQueryParameters.java b/sdk/src/main/java/com/finbourne/lusid/model/ValuationPointDataQueryParameters.java index 0aebd3be203..abf85d44cad 100644 --- a/sdk/src/main/java/com/finbourne/lusid/model/ValuationPointDataQueryParameters.java +++ b/sdk/src/main/java/com/finbourne/lusid/model/ValuationPointDataQueryParameters.java @@ -67,7 +67,7 @@ public ValuationPointDataQueryParameters end(DateOrDiaryEntry end) { * Get end * @return end **/ - @jakarta.annotation.Nullable + @jakarta.annotation.Nonnull public DateOrDiaryEntry getEnd() { return end; } @@ -127,6 +127,7 @@ private String toIndentedString(Object o) { // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("end"); } /** @@ -141,11 +142,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti throw new IllegalArgumentException(String.format("The required field(s) %s in ValuationPointDataQueryParameters is not found in the empty JSON string", ValuationPointDataQueryParameters.openapiRequiredFields.toString())); } } - JsonObject jsonObj = jsonElement.getAsJsonObject(); - // validate the optional field `end` - if (jsonObj.get("end") != null && !jsonObj.get("end").isJsonNull()) { - DateOrDiaryEntry.validateJsonElement(jsonObj.get("end")); + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : ValuationPointDataQueryParameters.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the required field `end` + DateOrDiaryEntry.validateJsonElement(jsonObj.get("end")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/sdk/src/main/java/com/finbourne/lusid/model/ValuationPointDataResponse.java b/sdk/src/main/java/com/finbourne/lusid/model/ValuationPointDataResponse.java index 828fc9212c8..b978ca50dad 100644 --- a/sdk/src/main/java/com/finbourne/lusid/model/ValuationPointDataResponse.java +++ b/sdk/src/main/java/com/finbourne/lusid/model/ValuationPointDataResponse.java @@ -110,7 +110,7 @@ public class ValuationPointDataResponse { public static final String SERIALIZED_NAME_SHARE_CLASS_DATA = "shareClassData"; @SerializedName(SERIALIZED_NAME_SHARE_CLASS_DATA) - private Map shareClassData = new HashMap<>(); + private List shareClassData = new ArrayList<>(); public static final String SERIALIZED_NAME_VALUATION_POINT_CODE = "valuationPointCode"; @SerializedName(SERIALIZED_NAME_VALUATION_POINT_CODE) @@ -411,17 +411,17 @@ public void setFundValuationPointData(FundValuationPointData fundValuationPointD } - public ValuationPointDataResponse shareClassData(Map shareClassData) { + public ValuationPointDataResponse shareClassData(List shareClassData) { this.shareClassData = shareClassData; return this; } - public ValuationPointDataResponse putShareClassDataItem(String key, ShareClassData shareClassDataItem) { + public ValuationPointDataResponse addShareClassDataItem(ShareClassData shareClassDataItem) { if (this.shareClassData == null) { - this.shareClassData = new HashMap<>(); + this.shareClassData = new ArrayList<>(); } - this.shareClassData.put(key, shareClassDataItem); + this.shareClassData.add(shareClassDataItem); return this; } @@ -430,12 +430,12 @@ public ValuationPointDataResponse putShareClassDataItem(String key, ShareClassDa * @return shareClassData **/ @jakarta.annotation.Nonnull - public Map getShareClassData() { + public List getShareClassData() { return shareClassData; } - public void setShareClassData(Map shareClassData) { + public void setShareClassData(List shareClassData) { this.shareClassData = shareClassData; } @@ -663,6 +663,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti FundDetails.validateJsonElement(jsonObj.get("fundDetails")); // validate the required field `fundValuationPointData` FundValuationPointData.validateJsonElement(jsonObj.get("fundValuationPointData")); + // ensure the json data is an array + if (!jsonObj.get("shareClassData").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `shareClassData` to be an array in the JSON string but got `%s`", jsonObj.get("shareClassData").toString())); + } + + JsonArray jsonArrayshareClassData = jsonObj.getAsJsonArray("shareClassData"); + // validate the required field `shareClassData` (array) + for (int i = 0; i < jsonArrayshareClassData.size(); i++) { + ShareClassData.validateJsonElement(jsonArrayshareClassData.get(i)); + }; if ((jsonObj.get("valuationPointCode") != null && !jsonObj.get("valuationPointCode").isJsonNull()) && !jsonObj.get("valuationPointCode").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `valuationPointCode` to be a primitive type in the JSON string but got `%s`", jsonObj.get("valuationPointCode").toString())); }