Commentary

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".

Creating / Updating Commentary Types

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.

Service call details

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

Body

{
    "commentaryType": "Fund Overview",
    "description": "Fund Overview"
}

Creating / Updating Commentaries

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".

Service call details

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

Body linked to single share class

{
    "commentaryType": "Fund Overview",
    "commentaries": [
        {
            "culture": "en-GB",
            "commentary": "This fund invests in several asset classes and seeks returns..."
        }
    ],
    "linkedEntity": "LU123123123",
    "updateType": "MERGE"
}

Body linked to list of funds

{
    "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.

Listing Commentaries

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

List body

{
    "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

List Response

[
    {
        "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"
    }
]