--- title: "Read/write LUSID investment data (Lusid.x)" slug: "readwrite-lusid-investment-data-lusid" tags: ["luminesce ", "LUSID"] status: "update" updated: 2026-09-10T14:35:54Z published: 2026-09-10T14:35:56Z canonical: "support.lusid.com/readwrite-lusid-investment-data-lusid" --- > ## Documentation Index > Fetch the complete documentation index at: https://support.lusid.com/llms.txt > Use this file to discover all available pages before exploring further. # Read/write LUSID investment data (Lusid.x) You can use the `Lusid.*` providers supplied by FINBOURNE to interact with investment data stored in LUSID itself. Providing you have suitable [access control permissions](/v1/docs/creating-policies-to-control-access-to-providers-for-different-luminesce-end-users), you can: - Retrieve [entities](/v1/docs/what-is-an-entity) such as portfolios, instruments and transactions from LUSID—and optionally also properties decorated onto those entities—for analysis. - Calculate holdings, valuations and performance returns on demand. You can also access system information such as logs, scopes and property types. - Write certain types of investment data back into LUSID. You must construct a valid table of data in your Luminesce query and use a special `toWrite` parameter on the provider to actually write data to LUSID. The query returns a table indicating whether each record has been successfully upserted or not. ## Instruments See a list of all the [supported instrument types](/v1/docs/what-instruments-does-lusid-support). Not all have read/write providers yet. | **To interact with...** | **Read using the ... provider** | **Write using the ... provider** | | --- | --- | --- | | Instruments of any type (basic definition, not full economic) | [Lusid.Instrument](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.Writer](/v1/docs/lusidinstrumentwriter) | | Bonds | [Lusid.Instrument.Bond](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.Bond.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | Complex bonds | [Lusid.Instrument.ComplexBond](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.ComplexBond.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | Inflation-linked bonds | [Lusid.Instrument.InflationLinkedBond](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.InflationLinkedBond.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | Amortising loans | [Lusid.Instrument.SimpleCashFlowLoan](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.SimpleCashFlowLoan.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | CapFloors | [Lusid.Instrument.CapFloor](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.CapFloor.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | CFDs | [Lusid.Instrument.ContractForDifference](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.ContractForDifference.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | CDSs | [Lusid.Instrument.CreditDefaultSwap](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.CreditDefaultSwap.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | Equities | [Lusid.Instrument.Equity](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.Equity.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | Equity options | [Lusid.Instrument.EquityOption](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.EquityOption.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | Equity swaps | [Lusid.Instrument.EquitySwap](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.EquitySwap.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | Exchange-traded options | [Lusid.Instrument.ExchangeTradedOption](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.ExchangeTradedOption.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | Forward rate agreements | [Lusid.Instrument.ForwardRateAgreement](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.ForwardRateAgreement.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | Funding legs | [Lusid.Instrument.FundingLeg](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.FundingLeg.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | Fund share classes | [Lusid.Instrument.FundShareClass](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.FundShareClass.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | Futures | [Lusid.Instrument.Future](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.Future.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | FX forwards | [Lusid.Instrument.FxForward](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.FxForward.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | FX options | [Lusid.Instrument.FxOption](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.FxOption.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | FX swaps | [Lusid.Instrument.FxSwap](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.FxSwap.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | Interest rate swaps | [Lusid.Instrument.InterestRateSwap](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.InterestRateSwap.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | Interest rate swaptions | [Lusid.Instrument.InterestRateSwaption](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.InterestRateSwaption.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | Repos | [Lusid.Instrument.Repo](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.Repo.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | Term deposits | [Lusid.Instrument.TermDeposit](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.TermDeposit.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | | Simple instruments (no full economic definition) | [Lusid.Instrument.SimpleInstrument](/v1/docs/lusidinstrumenttype-reader-providers) | [Lusid.Instrument.SimpleInstrument.Writer](/v1/docs/lusidinstrumenttypewriter-providers) | ## Portfolios | **To interact with...** | **Read using the ... provider** | **Write using the ... provider** | | --- | --- | --- | | [Portfolios](/v1/docs/portfolios) of any kind | [Lusid.Portfolio](/v1/docs/lusidportfolio) | [Lusid.Portfolio.Writer](/v1/docs/lusidportfoliowriter) | | [Input transactions](/v1/docs/transactions) added to a transaction portfolio | [Lusid.Portfolio.Txn](/v1/docs/lusidportfoliotxn) | [Lusid.Portfolio.Txn.Writer](/v1/docs/lusidportfoliotxnwriter) | | Instrument resolution for transactions and holdings | | [Lusid.Portfolio.ResolveInstrument](/v1/docs/lusidportfolioresolveinstrument) | | [Output transactions](/v1/docs/input-and-output-transactions) | [Lusid.Portfolio.Txn.Output](/v1/docs/lusidportfoliotxnoutput) | | | [Constituents](/v1/docs/loading-constituents-and-rebalancing-a-reference-portfolio) in a reference portfolio | [Lusid.Portfolio.Constituent](/v1/docs/lusidportfolioconstituent) | [Lusid.Portfolio.Constituent.Writer](/v1/docs/lusidportfolioconstituentwriter) | | [Holdings](/v1/docs/holdings) in a transaction portfolio | [Lusid.Portfolio.Holding](/v1/docs/lusidportfolioholding) | [Lusid.Portfolio.Holding.Writer](/v1/docs/lusidportfolioholdingwriter) | | All the portfolios in a [portfolio group](/v1/docs/what-is-a-portfolio-group) | [Lusid.PortfolioGroup](/v1/docs/lusidportfoliogroup) | [Lusid.PortfolioGroup.Writer](/v1/docs/lusidportfoliogroupwriter) | | [Performance returns](/v1/docs/aggregating-performance-returns-for-a-portfolio) for portfolios | [Lusid.Portfolio.Return](/v1/docs/lusidportfolioreturn) | [Lusid.Portfolio.Return.Writer](/v1/docs/lusidportfolioreturnwriter) | | Aggregated performance returns | [Lusid.Portfolio.AggregatedReturn](/v1/docs/lusidportfolioaggregatedreturn) | | | Change history | `Lusid.Portfolio.Change` | | | Custodian accounts | [Lusid.Portfolio.CustodianAccount](/v1/docs/lusidportfoliocustodianaccount) | [Lusid.Portfolio.CustodianAccount.Writer](/v1/docs/lusidportfoliocustodianaccountwriter) | ## Corporate actions | **To interact with...** | **Read using the ... provider** | **Write using the ... provider** | | --- | --- | --- | | [Corporate actions](/v1/docs/understanding-dedicated-corporate-action-events) | `Lusid.InstrumentEvent.<event>.Writer`, for example `Lusid.InstrumentEvent.CashDividendEvent` | `Lusid.InstrumentEvent.<event>.Writer`, for example `Lusid.InstrumentEvent.CashDividendEvent.Writer` | | Corporate action sources | [Lusid.CorporateAction.Source](/v1/docs/lusidcorporateactionsource) | [Lusid.CorporateAction.Source.Writer](/v1/docs/lusidcorporateactionsourcewriter) | ## Market data | **To interact with...** | **Read using the ... provider** | **Write using the ... provider** | | --- | --- | --- | | [Prices and spot rates](/v1/docs/how-do-i-upload-a-market-price-or-fx-spot-rate-to-the-quote-store) in the LUSID Quote Store | [Lusid.Instrument.Quote](/v1/docs/lusidinstrumentquote) | [Lusid.Instrument.Quote.Writer](/v1/docs/lusidinstrumentquotewriter) | | [Curves and surfaces](/v1/docs/categories-of-complex-market-data) in the LUSID Complex Market Data Store | FX Forward curves | `Lusid.ComplexMarketData.FxForwardCurve` | `Lusid.ComplexMarketData.Writer` | | Discount factor curves | | ## Valuation and reconciliation | **To interact with...** | **Read using the ... provider** | **Write using the ... provider** | | --- | --- | --- | | [Valuation reports](/v1/docs/valuations) | [Lusid.Portfolio.Valuation](/v1/docs/lusidportfoliovaluation) | | | [A2B reports](/v1/docs/creating-an-a2b-report-to-understand-how-valuations-change-over-time) (PnL) | [Lusid.Portfolio.AtoB](/v1/docs/lusidportfolioatob) | | | Bucketed cash flows | `Lusid.Portfolio.BucketedCashFlow` | | | Cash ladders | `Lusid.Portfolio.CashLadder` | | | [Recipes](/v1/docs/what-is-a-recipe) | [Lusid.Valuation.Recipe](/v1/docs/lusidvaluationrecipe) | | | [Metrics](/v1/docs/what-is-a-metric)/queryable keys | [Lusid.Portfolio.Valuation.Measure](/v1/docs/lusidportfoliovaluationmeasure) | | | Manifests | [Lusid.Logs.Valuations.Manifest](/v1/docs/how-do-i-access-a-valuation-manifest) | | | Holding or valuation reconciliations | [Lusid.Portfolio.Reconciliation.Generic](/v1/docs/lusidportfolioreconciliationgeneric) | | ## Financial reports/fund accounting/ABOR | **To interact with...** | **Read using the ... provider** | **Write using the ... provider** | | --- | --- | --- | | Funds | [Lusid.Fund](/v1/docs/lusidfund) | [Lusid.Fund.Writer](/v1/docs/lusidfundwriter) | | Fund configuration modules | [Lusid.FundConfiguration](/v1/docs/lusidfundconfiguration) | [Lusid.FundConfiguration.Writer](/v1/docs/lusidfundconfigurationwriter) | | Fund valuation points | [Lusid.Fund.ValuationPoint](/v1/docs/lusidfundvaluationpoint) | [Lusid.Fund.ValuationPoint.Writer](/v1/docs/lusidfundvaluationpointwriter) | | Fee types | [Lusid.FeeType](/v1/docs/lusidfeetype) | [Lusid.FeeType.Writer](/v1/docs/lusidfeetypewriter) | | Fees for funds | [Lusid.Fund.Fee](/v1/docs/lusidfundfee) | [Lusid.Fund.Fee.Writer](/v1/docs/lusidfundfeewriter) | | ABORs (Accounting book of records) | [Lusid.Abor](/v1/docs/lusidabor) | [Lusid.Abor.Writer](/v1/docs/lusidaborwriter) | | Accounting diaries in ABORs | [Lusid.AccountingDiary](/v1/docs/lusidaccountingdiary) | [Lusid.AccountingDiary.Writer](/v1/docs/lusidaccountingdiarywriter) | | ABOR configuration modules | [Lusid.AborConfiguration](/v1/docs/lusidaborconfiguration) | [Lusid.AborConfiguration.Writer](/v1/docs/lusidaborconfigurationwriter) | | Charts of accounts (CoAs) | [Lusid.ChartOfAccounts](/v1/docs/lusidchartofaccounts) | [Lusid.ChartOfAccounts.Writer](/v1/docs/lusidchartofaccountswriter) | | General ledger accounts in CoAs | [Lusid.ChartOfAccounts.Account](/v1/docs/lusidchartofaccountsaccount) | [Lusid.ChartOfAccounts.Account.Writer](/v1/docs/lusidchartofaccountsaccountwriter) | | Posting modules in CoAs | [Lusid.PostingModule](/v1/docs/lusidpostingmodule) | [Lusid.PostingModule.Writer](/v1/docs/lusidpostingmodulewriter) | | Posting rules in posting modules | [Lusid.PostingModule.Rule](/v1/docs/lusidpostingmodulerule) | [Lusid.PostingModule.Rule.Writer](/v1/docs/lusidpostingmodulerulewriter) | | Cleardown modules in CoAs | [Lusid.CleardownModule](/v1/docs/lusidcleardownmodule) | [Lusid.CleardownModule.Writer](/v1/docs/lusidcleardownmodulewriter) | | Cleardown rules in cleardown modules | [Lusid.CleardownModule.Rule](/v1/docs/lusidcleardownmodulerule) | [Lusid.CleardownModule.Rule.Writer](/v1/docs/lusidcleardownmodulerulewriter) | | General ledger profiles in CoAs | [Lusid.GeneralLedgerProfile](/v1/docs/lusidgeneralledgerprofile) | [Lusid.GeneralLedgerProfile.Writer](/v1/docs/lusidgeneralledgerprofilewriter) | | Mappings in general ledger profiles | [Lusid.GeneralLedgerProfile.Mapping](/v1/docs/lusidgeneralledgerprofilemapping) | [Lusid.GeneralLedgerProfile.Mapping.Writer](/v1/docs/lusidgeneralledgerprofilemappingwriter) | | Journal entry lines | [Lusid.Abor.JELine](/v1/docs/lusidaborjeline) | | | Trial balances | [Lusid.Abor.TrialBalance](/v1/docs/lusidabortrialbalance) | | | Fund-level valuation summary (GAV and NAV) | [Lusid.Fund.ValuationPointData](/v1/docs/lusidfundvaluationpointdata) | | | Fund-level fee accruals (to calculate NAV from GAV) | [Lusid.Fund.ValuationPointData.Fee](/v1/docs/lusidfundvaluationpointdatafee) | | | Fund-level valuation breakdown | [Lusid.Fund.ValuationPointData.Breakdown](/v1/docs/lusidfundvaluationpointdatabreakdown) | | | Share class-level valuation summary | [Lusid.Fund.ValuationPointData.ShareClass](/v1/docs/lusidfundvaluationpointdatashareclass) | | | Share class-level valuation breakdown | [Lusid.Fund.ValuationPointData.ShareClass.Breakdown](/v1/docs/lusidfundvaluationpointdatashareclassbreakdown) | | | Share class-level fee accruals | `Lusid.Fund.ValuatonPointData.ShareClass.Fees` | | ## Properties You can either use the dedicated property providers below, or [alternatively configure the entity providers](/v1/docs/how-do-i-configure-luminesce-entity-providers-to-readwrite-properties) in the tables above to first 'inline' properties and/or identifiers so you can then interact with them in the same way as entity data fields. [Tips for using Luminesce to write properties](/v1/docs/using-luminesce-to-write-different-kinds-of-property-for-lusid-entities). | **To interact with...** | **Read using the ... provider** | **Write using the ... provider** | | --- | --- | --- | | [Properties](/v1/docs/properties) on instruments, portfolios, portfolio groups, legal entities and person entities | [Lusid.Property](/v1/docs/lusidproperty) | [Lusid.Property.Writer](/v1/docs/lusidpropertywriter) | | Instrument properties (and market identifiers) | [Lusid.Instrument.Property](/v1/docs/lusidinstrumentproperty) | Not currently available. Use [Lusid.Property.Writer](/v1/docs/lusidpropertywriter) instead. | | Holding properties | [Lusid.Portfolio.Holding.Property](/v1/docs/lusidportfolioholdingproperty) | Not available. Use [Lusid.Portfolio.Holding.Writer](/v1/docs/lusidportfolioholdingwriter) instead, [having inlined properties first](/v1/docs/how-do-i-configure-luminesce-entity-providers-to-readwrite-properties). | | Transaction properties | [Lusid.Portfolio.Txn.Property](/v1/docs/lusidportfoliotxnproperty) | [Lusid.Portfolio.Txn.Property.Writer](/v1/docs/lusidportfoliotxnpropertywriter) | | [Property types](/v1/docs/how-do-i-create-a-property-type) and [derived property types](/v1/docs/how-do-i-create-a-derived-property-type) | [Lusid.Property.Definition](/v1/docs/lusidpropertydefinition) | [Lusid.Property.Definition.Writer](/v1/docs/lusidpropertydefinitionwriter) | | [Data types](/v1/docs/what-is-a-data-type) | [Lusid.DataType](/v1/docs/lusiddatatype) | [Lusid.DataType.Writer](/v1/docs/lusiddatatypewriter) | ## Scopes, transaction types, cut labels and calendars | **To interact with...** | **Read using the ... provider** | **Write using the ... provider** | | --- | --- | --- | | [Scopes](/v1/docs/what-is-a-scope) | [Lusid.Scope](/v1/docs/lusidscope) | | | [Transaction types](/v1/docs/what-is-a-transaction-type) | [Lusid.TransactionType](/v1/docs/lusidtransactiontype) | | | [Sides](/v1/docs/what-is-a-side) | [Lusid.TransactionType.SideDefinition](/v1/docs/lusidtransactiontypesidedefinition) | | | [Cut labels](/v1/docs/what-is-a-cut-label) | [Lusid.CutLabel](/v1/docs/lusidcutlabel) | [Lusid.CutLabel.Writer](/v1/docs/lusidcutlabelwriter) | | [Calendars](/v1/docs/using-calendars-in-lusid) | [Lusid.Calendar](/v1/docs/lusidcalendar) | [Lusid.Calendar.Writer](/v1/docs/lusidcalendarwriter) | | Dates in calendars | [Lusid.Calendar.Date](/v1/docs/lusidcalendardate) | [Lusid.Calendar.Date.Writer](/v1/docs/lusidcalendardatewriter) | | [Sequences](/v1/docs/generating-unique-ids-for-entities-upserted-into-lusid) for generating unique IDs | `Lusid.Sequence` | `Lusid.Sequence.Writer` | ## Order management system (OMS) | **To interact with...** | **Read using the ... provider** | **Write using the ... provider** | | --- | --- | --- | | [Orders](/v1/docs/order-management) | [Lusid.PortfolioOrder](/v1/docs/lusidportfolioorder) | [Lusid.PortfolioOrder.Writer](/v1/docs/lusidportfolioorderwriter) | | [Order instructions](/v1/docs/what-is-rebalancing-in-lusid) | [Lusid.OrderInstruction](/v1/docs/lusidorderinstruction) | [Lusid.OrderInstructon.Writer](/v1/docs/lusidorderinstructionwriter) | | [Order blocks](/v1/docs/what-is-order-blocking-in-lusid) | [Lusid.Block](/v1/docs/lusidblock) | [Lusid.Block.Writer](/v1/docs/lusidblockwriter) | | [Compliance rules](/v1/docs/what-is-compliance-in-lusid) | [Lusid.ComplianceRule](/v1/docs/lusid-compliancerule) | | | [Compliance runs](/v1/docs/what-is-compliance-in-lusid) | [Lusid.ComplianceRuleResult](/v1/docs/lusid-complianceruleresult) and [Lusid.ComplianceRuleResult.Breakdown](/v1/docs/lusid-comlianceruleresult-breakdown) | [Lusid.RunCompliance](/v1/docs/luminesce-read-provider-1) | | [Allocations](/v1/docs/what-is-an-allocation-in-lusid) | [Lusid.Allocation](/v1/docs/lusidallocation) | [Lusid.Allocation.Writer](/v1/docs/lusidallocationwriter) | | [Executions](/v1/docs/what-is-an-execution-in-lusid) | [Lusid.Execution](/v1/docs/lusidexecution) | [Lusid.Execution.Writer](/v1/docs/lusidexecutionwriter) | | [Placements](/v1/docs/what-is-a-placement-in-lusid) | [Lusid.Placement](/v1/docs/lusidplacement) | `Lusid.PlaceBlocks` (recommended) or [Lusid.Placement.Writer](/v1/docs/lusidplacementwriter) | | [Fee rules](/v1/docs/managing-order-fees-and-commissions) | [Lusid.FeeRule](/v1/docs/lusidfeerule) | [Lusid.FeeRule.Writer](/v1/docs/lusidfeerulewriter) | | [Reference lists](/v1/docs/using-reference-lists-in-lusid) | [Lusid.ReferenceList](/v1/docs/lusidreferencelist) | [Lusid.ReferenceList.Writer](/v1/docs/lusidreferencelistwriter) | ## People, legal entities and relationships | **To interact with...** | **Read using the ... provider** | **Write using the ... provider** | | --- | --- | --- | | [Persons](/v1/docs/representing-people-in-lusid-using-person-entities) | [Lusid.Person](/v1/docs/lusidperson) | [Lusid.Person.Writer](/v1/docs/lusidpersonwriter) | | [Legal entities](/v1/docs/representing-institutions-in-lusid-using-legal-entities) | [Lusid.LegalEntity](/v1/docs/lusidlegalentity) | [Lusid.LegalEntity.Writer](/v1/docs/lusidlegalentitywriter) | | [Relationships](/v1/docs/creating-relationships-between-certain-types-of-entity) | [Lusid.Relationship](/v1/docs/lusidrelationship) | [Lusid.Relationship.Writer](/v1/docs/lusidrelationshipwriter) | | Relationship types | [Lusid.Relationship.Definition](/v1/docs/lusidrelationshipdefinition) | [Lusid.Relationship.Definition.Writer](/v1/docs/lusidrelationshipdefinitionwriter) | ## Custom entities By default, Luminesce knows nothing about your custom entities, so providers for them do not exist out-of-the-box. You must create a read/write provider pair for each type of custom entity you wish to interact with. [Find out more about this](/v1/docs/how-do-i-use-luminesce-to-readwrite-custom-entities). | **To interact with...** | **Read using the ... provider** | **Write using the ... provider** | | --- | --- | --- | | Custom entity types | [Lusid.CustomEntity.Definition](/v1/docs/lusidcustomentitydefinition) | [Lusid.CustomEntity.Definition.Writer](/v1/docs/lusidcustomentitydefinitionwriter) | | [Access metadata](/v1/docs/understanding-access-metadata-amd) for custom entities | `Lusid.CustomEntity.AccessMetadata` | `Lusid.CustomEntity.AccessMetadata.Writer` | ## Custom datasets | **To interact with...** | **Read using the ... provider** | **Write using the ... provider** | | --- | --- | --- | | Relational dataset definitions | [Lusid.RelationalDatasetDefinition](/v1/docs/lusidrelationaldatasetdefinition) | [Lusid.RelationalDatasetDefinition.Writer](/v1/docs/lusidrelationaldatasetdefinitionwriter) | | Data in datasets | [Lusid.RelationalDataset..](/v1/docs/lusidrelationaldatasetxx) | [Lusid.RelationalDataset...Writer](/v1/docs/lusidrelationaldatasetxxwriter) | ## Structured Result Store data | **To interact with...** | **Read using the ... provider** | **Write using the ... provider** | | --- | --- | --- | | [Structured result store](/v1/docs/what-is-structured-result-data) data | [Lusid.UnitResult.StructuredResult](/v1/docs/lusidunitresultstructuredresult) | `Lusid.UnitResult.StructuredResult.Writer` | | Atomised results (virtual documents) | `Lusid.UnitResult.AtomisedResult` | | ## Logs | **To interact with...** | **Read using the ... provider** | **Write using the ... provider** | | --- | --- | --- | | HTTP 5xx server error responses | [Lusid.Logs.Error](/v1/docs/lusidlogserror) | | | HTTP 4xx client error responses | [Lusid.Logs.Failure](/v1/docs/lusidlogsfailure) | | | Requests to any application in the FINBOURNE platform | [Lusid.Logs.AppRequest](/v1/docs/lusidlogsapprequest) | | | Successful requests to LUSID only | [Lusid.Logs.Request](/v1/docs/lusidlogsrequest) | | | Request and response contents | `Lusid.Logs.RequestResponse` | | | Access requests (policy and license-related failures) | [Lusid.Logs.Metrics.Entitlement](/v1/docs/lusidlogsmetricsentitlement) | |