Document toolboxDocument toolbox

Cinnamon Data Interface - Segmentations

Interface "Segmentations"

Usage & contents

  • Metadata about the segmentations used in other interfaces (Valuations, Attributions, Contributions etc.)

  • Defines ordering and hierarchies of segmentations

Reporting business logic

  • aggregations, grouping, sorting, filtering along segmentations

Consistency rules

The following rules should be adhered to by any response and will eventually be checked when consuming a response:

Consistency Rules
* All segmentations used within the other API's should be defined * All segments used within other API's responses should be defined * All segments of a segmentation have to be unique

Segmentations don't have to be "levelled". That means that not every branch of a hierarchy has to have the same depth (number of levels).

Path

/segmentations

Parameters

reportingDate

string (date)

The date, the segmentations are valid

Example call

/segmentations?reportingDate=2019-03-31

Schema

on request

Example

on request

Segmentations

Segmentation Attributes

Attribute

Description

Type

Attribute

Description

Type

id

The unique id of the segmentation. Is referenced by positions.

string

description

optional description of the segmentation to help the reader of the file. For reporting the id will be used as key into the translation tables.

string

segments

the list of segments in the segmentation

array of segment

Segment Attributes

Attribute

Description

Type

Attribute

Description

Type

id

The unique id of the segment within the segmentation. Is referenced by positions.

string

segments

optional list of (sub)segments used to build a hierarchical segmentation

array of segment

description

optional description of the segment to help the reader of the file. For reporting the id will be used as key into the translation tables.

string

sortKey

optional sortKey to help sorting data from multiple files. If no sortKeys are provided, the order of segments in the file is relevant.

string

isNA

optional flag to state that this segment is actually not a discrete segment of the segmentation but rather something like

  • not available

  • not relevant

  • not assignable to single segment (e.g. multi-currency fund)

boolean

Example for segments on positions

The following examples show how the AssetClass segment is allocated to a position:

Case

Discussion

Example

Case

Discussion

Example

1

Segment provided

Standard case: position will be reported under the specified segment.

"segments": { "AssetClass": "CASH", "GICS": "20104020" }
2

NA-Segment provided

Position will be reported either under NA-segment or under "Others" segment depending on report configuration. The n.a. segment has to be listed in the segmentation definition (like any segment)

"segments": { "AssetClass": "n.a.", "GICS": "20104020" }
3

no segment provided

No segment known for position. Reporting will automatically create the "Others" segment to capture the position.

4

null Segment provided

not preferred, use case 3

5

no segments provided

position always should have the property "segments" - schema violation