How to Use Correlation IDs
To avoid the need to keep track of the unique identifiers for Corastone entities, you can map your internal identifiers to Corastone identifiers on the Corastone platform. Use correlationIDs to perform these mappings. You can use the correlationData structure to map your identifiers when you start the process of creating an entity, like an asset. You can use Add Correlation ID endpoints to map one or more identifiers after creating an entity. Once your identifiers are mapped to Corastone identifiers, you can use your identifiers to refer to entity in other endpoints.
The following entities can have correlation IDs:
Accounts
Advisors
Assets
Capital Calls
Custodians
Distributions
Files
Funds
Investors
Issuance Closes
Organizations
Tender Offers
Tender Requests
Transfers
The schema for the Create Asset endpoint includes a correlationData structure:
Submitting your Create Asset call with a correlationId specified maps the two identifiers for the subscription for the life of the resulting asset, unless you remove the correlationId (Remove Asset Correlation ID).
The following table details this structure.
correlationId
The identifiers to be mapped to the Corastone identifier (securityId).
MYID89647
broadcastToCounterparty
Flag to indicate whether to share each correlationId with platform counterparties who have access to the details of the subscription.
False
origin
The system that created the identifier listed in the correlationId field.
Backoffice-123
After the initial subscription request is submitted (Create Asset), you can add mapped identifiers using the Add Asset Correlation ID enpoint in the Asset API. This endpoint provides the same elements as the correlationData structure detailed above.
Once your identifier is mapped to the Corastone identifier, you can supply your identifier to work with the entity. For example, to fetch asset details where the correlationId is KFC001, you might use:
{{URL}}/external/v1/asset?correlationIdsFilter=KFC0001
If you want to submit an asset correlation ID in the assetID path parameter, you must include isAssetCorrelationID as a query parameter. For example, to request remediation for an asset using the asset correlation ID "abc123" as the identifier, you would need to use:
{{URL}}/external/v1/primary/asset/abc123/request-remediation?isAssetCorrelationID=TRUE
When an organization broadcasts a correlation ID, counterparties can use the correlation ID. To include another organization's correlation ID, you must also provide the assetCorrelationOrgId=<org> parameter, where <org> is the identifier for the organization that published the correlation ID.
For example, to use "abc123" as a correlation ID broadcast by org456, you would need to use:
{{URL}}/external/v1/primary/asset/abc123/request-remediation?isAssetCorrelationID=TRUE&assetCorrelationOrgId=org456