Commentary

Commentary data can be used to track long text data used for things like fund objectives. Each commentary has a type (denoted as commentaryType) to describe what the text is. Commentary types need to be created seperately 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. Our preference is to use

Creating / Updating Commentary Types

Commentary types need to be created before commentaries. The commentary type is a unique code used to identify the type while the description is a friendly name. As always, post an empty body to the end point to receive the full, up to date, JSON schema.

The same end point can be used for both inserts and updates.

Service call details

Parameter Value
End Point https://api.fundpress.io/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, described above, 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, agnostic of any fund or class, or it can be linked to the 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 FundPress symptom, and is usually an industry standard identifier such as an ISIN or CUSIP. Note that this value is defined specifically to the individual implementation and is not fixed by fundpress.

If the commentary applies to a group of funds/classes, then fund lists can be used. linkedList can be specified, with its 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 end point can be used for both inserts and updates.

Service call details.

Parameter Value
End Point https://api.fundpress.io/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"
}

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

Listing Commentaries

This call allows the user to list commentaries in the system

Parameter Value
End Point https://api.fundpress.io/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 or a list of commentary types to filter on
culture FALSE A single or a list of cultures to filter on
global FALSE Whether to only show commentaries with no linked entities
linkedEntity FALSE A single or a list of entity identifiers
linkedList FALSE A single 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"
    }
]