---
title: "Read/write LUSID investment data (Lusid.x)"
slug: "readwrite-lusid-investment-data-lusid"
status: "update"
updated: 2026-08-04T10:32:23Z
published: 2026-08-04T10:32:31Z
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.&lt;event&gt;.Writer`, for example `Lusid.InstrumentEvent.CashDividendEvent` | `Lusid.InstrumentEvent.&lt;event&gt;.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` |  |
| [Compliance runs](/v1/docs/what-is-compliance-in-lusid) | `Lusid.ComplianceRuleResult` | `Lusid.RunCompliance` |
| [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.<rdd-scope>.<rdd-code>](/v1/docs/lusidrelationaldatasetxx) | [Lusid.RelationalDataset.<rdd-scope>.<rdd-code>.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) |  |
