Commentary data can be used to track long text data used for things like fund objectives. Each commentary has a type (commentaryType
) to describe what the text is. Commentary types need to be created separately before they are used.
The contents of a commentary can be tracked in multiple cultures and can be associated with either a single fund / share class, or against a list of funds or share classes. Culture codes are free form, but the codes used should match those used in other areas of localization, such as translations and format codes. The preference is to use ISO culture codes such as "en-GB".
Commentary types must be created before commentaries. The commentary type is a unique code used to identify the type while the description is a friendly name. Post an empty body to the endpoint to receive the full, up to date, JSON schema.
The same endpoint can be used for both inserts and updates.
Parameter | Value |
---|---|
End Point | https://<US: api-us.kurtosys.app OR UK: api-uk.kurtosys.app>/config/upsertCommentaryType |
Headers | X-KSYS-TOKEN |
Content Type | application/json |
HTTP Method | POST |
{
"commentaryType": "Fund Overview",
"description": "Fund Overview"
}
A commentary requires a commentaryType
and can contain an array of commentaries
. Each item of the commentaries
array is an object containing a culture
and a commentary
. The culture must be unique within the array.
A generic commentary can be created, unlinked to a fund or class, or linked to a fund/class. The linkedEntity
field is used to create this association. The value of this field is the clientCode
of the fund or class in the Kurtosys system, and is usually an industry standard identifier such as an ISIN or CUSIP. Note: this value is defined specific to the individual implementation and is not fixed by Kurtosys.
If the commentary applies to a group of funds/classes, then fund lists can be used. linkedList
can be specified, with a value pointing to the name of a pre-created list.
A commentary cannot be linked to both a linkedEntity
and a linkedList
at the same time.
The same endpoint can be used for both inserts and updates.
Additionally the updateType
property can be set to MERGE
to modify the default behavior of replacing the content, to merging the new commentary with the existing entries. Merging is done based on the culture
property, so upserting with an "en-GB" culture will replace an existing entry for "en-GB".
Parameter | Value |
---|---|
End Point | https://<US: api-us.kurtosys.app OR UK: api-uk.kurtosys.app>/config/upsertCommentary |
Headers | X-KSYS-TOKEN |
Content Type | application/json |
HTTP Method | POST |
{
"commentaryType": "Fund Overview",
"commentaries": [
{
"culture": "en-GB",
"commentary": "This fund invests in several asset classes and seeks returns..."
}
],
"linkedEntity": "LU123123123",
"updateType": "MERGE"
}
{
"commentaryType": "Fund Overview",
"commentaries": [
{
"culture": "en-GB",
"commentary": "This fund invests in several asset classes and seeks returns..."
}
],
"linkedList": "etf_equity",
"updateType": "REPLACE"
}
"updateType": "REPLACE"
is the default behavior.
This call allows the user to list commentaries in the system.
Parameter | Value |
---|---|
End Point | https://<US: api-us.kurtosys.app OR UK: api-uk.kurtosys.app>/config/listCommentaries |
Headers | X-KSYS-TOKEN |
Content Type | application/json |
HTTP Method | POST |
{
"commentaryType": ["Fund Commentary", "Important Information"],
"culture": ["en-GB", "fr-FR"]
}
or
{
"commentaryType": "Fund Commentary",
"culture": "en-GB",
"global": true,
"linkedEntity": ["LU123123123"],
"linkedList": ["All Funds"],
"entityType": "FUND"
}
Parameter | Required | Value |
---|---|---|
commentaryType | FALSE | A single commentary type or a list of commentary types to filter on |
culture | FALSE | A single culture or a list of cultures to filter on |
global | FALSE | Whether to only show commentaries with no linked entities |
linkedEntity | FALSE | A single identifier or a list of entity identifiers |
linkedList | FALSE | A single segmentation list name or a list of segmentation list names |
entityType | FALSE | Filters to linked entities of a specific type |
linkedList
and linkedEntity
may be used together to return a subset of commentaries.global
can not be used in conjunction with linkedList
and linkedEntity
.[
{
"commentaryId": 25,
"commentaryType": "Fund Commentary",
"linkedEntity": "ALPHA",
"clientId": 2,
"commentaries": [
{
"commentary": "GB commentary text",
"culture": "en-GB"
},
{
"commentary": "FR commentary text",
"culture": "fr-FR"
}
],
"commentaries_draft": [],
"lastModified": "2018-07-25T08:16:03.000Z",
"lastModifiedBy": "kurtovest.admin",
"created": "2018-07-25T08:16:03.000Z",
"createdBy": "kurtovest.admin",
"status": "Draft",
"workflow": {
"approvedBy": [],
"rejectedBy": [],
"status": "Draft"
},
"lastPublished": "2018-07-25T08:16:03.000Z",
"lastPublishedBy": "kurtovest.admin",
"lastAction": "Published",
"linkedItem": "ALPHA"
}
]