Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

REST EST API Interfaces describes the endpoints on GET and POST methods of various OLAP endpoints exposed via RESTful web service. In this document you will find information on the following topics:

  • GET method of REST Endpoints

  • POST method of REST Endpoints

Base Path:https:// <hostname>//eagle/report/v1/<supported feature>

REST Endpoint output defaults to JSON Format.  In addition, the Endpoints are in camel casing and case sensitive.

...

GET method of OLAP RESTful web service is used to read/request the data from the Eagle data warehouse.  Below are the list of GET Endpoints supported by OLAP REST API.

Details on Individual GET Endpoints

Following are details on individual GET endpoints.

 reportProfiles: A GET request to return a list of report profiles.

This gives the profile names of all types of Performance Calculations, OLAP Reports and Advanced reports.

Report Rules

https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/

reportProfiles

Web Browser

reportRules

Examples:

Field  Rules

https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/

reportProfiles

Curl

curl -u user:password “

fieldRules

Field Rule By Id 

https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1

/reportProfiles

Sample response:

[
    {
        "instance": 257,
        "profileName": "13F Report",
        "reportType": "Advanced Reporting ",
        "updateUser": "BASELINE ADMIN",
        "updateDate": 1398830400000
    }
]

...

Details on Individual GET Endpoints

Following are details on individual GET endpoints.

 reportProfiles: A GET request to return a list of report profiles.

This gives the profile names of all types of Performance Calculations, OLAP Reports and Advanced reports.

Resource path: /eagle/report/v1/reportProfiles

Examples:

Web Browser

https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/reportProfiles

Curl

curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/reportProfiles

Sample response:

[
    {
        "instance": 257,
        "profileName": "13F Report",
        "reportType": "Advanced Reporting ",
        "updateUser": "BASELINE ADMIN",
        "updateDate": 1398830400000
    }
]

fields: A GET request to return a list of fields.

This includes all types of Regular fields, Advance fields, Special fields, and Performance fields.

Resource path: /eagle/report/v1/fields

Examples:

Web Browser

https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/fields

Curl

curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/fields

Sample response:

[
    {
        "id": 139,
        "description": "i Settlement Date",
        "indicator": "T",
        "type": "Date",
        "updateSource": "REGFA",
        "updateDate": 1268884800000
    }
]

fieldsByIndicator: A GET request to return the list of report fields by field indicator.

Fields of all types are assigned with an indicator respective to the database it belongs to and those are fetched with a filter mentioned in this endpoint.

Resource path: /eagle/report/v1/fieldsByIndicator/{fieldIndicator}

Examples:

Web Browser

https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/fieldsByIndicator/H

Curl

curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/fieldsByIndicator/H

Sample response:

[
    {
        "id": 143,
        "description": "i Book Value (lot)",
        "indicator": "H",
        "type": "Numeric",
        "updateSource": "REGFA",
        "updateDate": 1268884800000
    }
]

entities: A GET request to return a list of report entities.

This includes all types of entities like Portfolios, Performance composites, Reporting Composites, and Entity List etc.

Resource path: /eagle/report/v1/entities

Examples:

Web Browser

https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/entities

Curl

curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/entities

Sample response:

[
   {
"id":"23980",
"name":"JKAUMC9",
"type":"COMP"     },
   {
"id":"10120",
"name":"ALLGIPS ",
"type":"LIST"     }
]

entityById: A GET request to return an entity based on its ID.        

This is to filter a specific entity using an 8-digit Entity ID.

Resource path: /eagle/report/v1/entity/{entity id}

Examples:

Web Browser

https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/entity/LTTEST02

Curl

curl -u user:passwordhttps://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/entity/LTTEST02

Sample response:

[
   {
       "id": "LTTEST02",
       "name": "LTTEST02",
       "type": "PORT"
   }
]
For another Entity
[
  {   
"id": "JKAUMC1",
      "name": "JKAUMC1 Entity Name",
      "type": "ACOM"
  }
]

entitiesByEntityNameLike: A GET request to return a list of entities that contain the specified value in the Entity name. This applies filters on the Entity name to query the list of Entities matching with the entity name filter.

Resource path: /eagle/report/v1/entitiesByEntityNameLike/{entity name}

Examples:

Web Browser

https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/entitiesByEntityNameLike/JKA

Curl

curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/entitiesByEntityNameLike/JKA

Sample response:

[
  {
        "id": "JKOPTST2",
        "name": "COPYJKACOM23 ",
        "type": "ACOM"
    }, {
        "id": "JKACOM36",
        "name": "Copy of JKACOM3 ",
        "type": "ACOM"
    }
]

entitiesByType: A GET request to return a list of fieldsentities by entity type.

This includes all types of Regular fields, Advance fields, Special fields, and Performance fieldsentities like Portfolios, Performance composites, Reporting composites, Entity list, and Custom index. This endpoint is used to filter the entities by entity type.

Resource path: /eagle/report/v1

/fields

/entitiesByType/{entity type}

Examples:

Web Browser

https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/entitiesByType/

fields

COMP

Curl

curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/

fields

entitiesByType/COMP

Sample response:

[

    

 {

        

        "id":

 139

"JKTXC34",

        

        "

description

name":

 

"

i Settlement Date

JK DQM VOL CMP34",

        

        "

indicator

type":

 

"

T

COMP"
    },

        "type

    {
        "id":

 

"

Date

JKTXC35",

        

        "

updateSource

name":

 

"

REGFA

JK DQM VOL CMP35",

        

        "

updateDate

type":

 1268884800000

"COMP"

    

    }
]

fieldsByIndicatorentityTypes: A GET request to return the a list of report fields by field indicator.Fields of all types are assigned with an indicator respective to the database it belongs to and those are fetched with a filter mentioned in this endpointdefault Eagle entity types and custom entity types. This includes all types of default entities like Portfolios, Performance composites, Reporting omposites, Entity List, Custom index, etc., and user defined custom entity types.

Resource path: /eagle/report/v1/

fieldsByIndicator/{fieldIndicator}

entityTypes

Examples:

Web Browser

https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/

fieldsByIndicator/H

entityTypes

Curl

curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/

fieldsByIndicator/H

entityTypes

Sample response:    

[
     {  

        

        "

id

entityType":

 143,
        "description": "i Book Value (lot)

"COMP",

        

        "

indicator

type":

 

"

H

Base",

        "type": "Numeric",
        "updateSource": "REGFA",
        "updateDate": 1268884800000
    }
]

...

        "basetype": null,
        "updateDate": "2020-03-03 09:33:32",
        "updateUser": "ALOMBARDO"
    }]

performanceDictionaries: A GET request to return a list of report entities.This includes all types of entities like Portfolios, Performance composites, Reporting Composites, and Entity List etcperformance dictionaries, which  are otherwise called as stored performance models.

Resource path:   /eagle/report/v1/

entities

performanceDictionaries

Examples:

Web Browser

https://

o171

O171-q001-ww01.eagleinvsys.com/eagle/report/v1/

entities

performanceDictionaries

Curl

curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/

entities

performanceDictionaries

Sample response:    

[

  

{

"id

        "dictionaryId": "

23980

95271",

"name

        "dictionaryName": "

JKAUMC9

113169PA-Position_Detail_Anl Check",

"type":"COMP"     },
   {
"id

        "dictionaryLevel": "

10120

1",

"name

        "dictionaryLevelDesc": "

ALLGIPS

Entity",

"type

        "fieldAttributeId": "

LIST

-1"


   

}


]  

entityByIdregularDictionaries: A GET request to return an entity based on its ID.        This is to filter a specific entity using an 8-digit Entity IDa list of regular dictionaries.

Resource path:  /eagle/report/v1

/entity/{entity id}

/regularDictionaries

Examples: 

Web Browser

https://

o171

O171-q001-ww01.eagleinvsys.com/eagle/report/v1/

entity/LTTEST02

regularDictionaries

Curl

curl -u user:password https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/

entity/LTTEST02

regularDictionaries

Sample response:    

[

  

 {

       

        "

id

dictionaryId":

 

"

LTTEST02

188",

       "name": "LTTEST02",
       "type": "PORT"
   }
]
For another Entity
[
  {   
"id": "JKAUMC1",
      "name": "JKAUMC1 Entity Name",
      "type": "ACOM"
  }
]

...

        "dictionaryName": "AK DICTIONARY",
        "dictionaryLevel": "1",
        "dictionaryLevelDesc": "VK_Currency",
        "fieldAttributeId": "9334"
     }
]

groupingRuleRange: A GET request to return a list of entities that contain the specified value in the Entity name. This applies filters on the Entity name to query the list of Entities matching with the entity name filtergrouping rule Range fields which are used to construct dynamic grouping.

Resource path: /eagle/report/v1/

entitiesByEntityNameLike/{entity name}

groupingRuleRange

Examples: 

Web Browser

https://

o171

O171-q001-ww01.eagleinvsys.com/eagle/report/v1/

entitiesByEntityNameLike/JKA

groupingRuleRange

Curl

curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/

v1/entitiesByEntityNameLike/JKA

v1groupingRuleRange

Sample response:    

[

 

{


        "id": "JKOPTST2",


       

"name": "COPYJKACOM23 ",
        "type": "ACOM"
    }, {
        "id": "JKACOM36

"aggregationID": 8178,
        "aggregationDescription": "AG Range GR Field",
       

"

name

fieldAttributeDescription":

"Copy of JKACOM3

"eglDca-Cost",
       

"

type

fieldAttributeId":

"

ACOM

6841"
   

}


]

entitiesByTypegroupingRuleFilter: A GET request to return a list of entities by entity type.This includes all types of entities like Portfolios, Performance composites, Reporting composites, Entity list, and Custom index. This endpoint is used to filter the entities by entity typerequest to return a list of grouping rule filter fields, which are used to construct dynamic grouping.

Resource path: /eagle/report/v1/

entitiesByType/{entity type}

groupingRuleFilter

Examples: 

Web Browser

https://

o171

O171-q001-ww01.eagleinvsys.com/eagle/report/v1/

entitiesByType/COMP

groupingRuleFilter

Curl

curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/

entitiesByType/COMP

groupingRuleFilter

Sample response:    

[
 {
       

"

id

guidelineID":

"JKTXC34"

2,
       

"

name

guidelineName":

"JK DQM VOL CMP34

"*M Transaction Type FIL",
       

"

type

guidelineDescription":

"

COMP"
    },
    {
        "id": "JKTXC35

*M Transaction Type FIL",
        "updateSource": "DCLINTON",
       

"

name

updateDate":

"JK DQM VOL CMP35

"2008-07-01 12:00:35",
       

"

type

comments":

"COMP"

null
   

},
  ]

entityTypesglobalAttributionFields: A GET request to return a list of default Eagle entity types and custom entity types. This includes all types of default entities like Portfolios, Performance composites, Reporting omposites, Entity List, Custom index, etc., and user defined custom entity typesof global attribution fields of types Brinson Fachler, Karnosky-Singer and Eagle Fixed Income style.

Resource path: /eagle/report/v1/

entityTypes

globalAttributionFields

Examples: 

Web Browser

https://

o171

O171-q001-ww01.eagleinvsys.com/eagle/report/v1/

entityTypes

globalAttributionFields

Curl

curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/

entityTypes

globalAttributionFields

Sample response:    

[

     {  

    {
        "id": 14533,
       

"

entityType

description":

"

COMP

104102 - Bf",
       

"

type

analysisStyle":

"

Base

Brinson - Fachler",
       

"

basetype

updateSource":

null

"PERFSMOKE",
       

"updateDate":

"

2020

2013-

03-03 09:33:32",
        "updateUser": "ALOMBARDO"
   

05-10 06:19:01"
    }]

performanceDictionariesreportRules: A GET request to return a list of performance dictionaries, which  are otherwise called as stored performance modelsall report rules in Eagle Database.

Resource path: 

 

/eagle/report/v1/

performanceDictionaries

reportRules

Examples:

Web Browser

https://O171-q001-ww01.eagleinvsys.com/eagle/report/v1/

performanceDictionaries

reportRules

Curl

curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/

performanceDictionaries

reportRules

Sample response:

    

[

    {

       

       "

dictionaryId

reportRuleId":

"95271"

2,

       

"

dictionaryName

reportRuleName":

"

113169PA-Position_Detail_Anl Check

eglUpldr-Uploader Prep Rule 2",

       

"

dictionaryLevel

reportType":

"

1

Positions",

       

"

dictionaryLevelDesc

reportSubType":

"Entity",
        "fieldAttributeId": "-1

"Single Period"

   

}]

  

regularDictionariesfieldRules: A GET request to return a list of regular dictionariesall field Rules in Eagle Database.

Resource path:

  

 /eagle/report/v1/

regularDictionaries

fieldRules

Examples: 

Web Browser

https://O171-q001-ww01.eagleinvsys.com/eagle/report/v1/

regularDictionaries

fieldRules

Curl

curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/

regularDictionaries

fieldRules

Sample response:    

[

 

    {

       

"

dictionaryId

fieldRuleId":

"188"

3,

       

"

dictionaryName

fieldRuleName":

"AK DICTIONARY

"eglUpldr-Uploader Prep Rule 2-FR",

       

"

dictionaryLevel

reportType":

"1",
        "dictionaryLevelDesc": "VK_Currency

"Positions",

       

"

fieldAttributeId

reportSubType":

"

9334

Single Period"

   

 

}


]

groupingRuleRangefieldRule: A GET request to return a list of grouping rule Range fields which are used to construct dynamic groupingall fields in a field rule by providing field rule ID.

Resource path: /eagle/report/v1/fieldRule/

groupingRuleRange

{fieldRuleId}

Examples: 

Web Browser

https://O171-q001-ww01.

eagleinvsys

eagleinvsyfiels.com/eagle/report/v1/fieldRule/

groupingRuleRange

379

Curl

curl -u user:password

fiel“https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/fieldRule/

v1groupingRuleRange

379

Sample response:

    

[

    {

        "

aggregationID

fieldRuleId":

8178

379,

        "

aggregationDescription

fieldRuleName": "

AG Range GR Field

Partition UI Test RR-FR",

        "

fieldAttributeDescription

fieldName": "

eglDca-Cost

Security ID",

        "fieldAttributeId": "

6841

2235"

    }]

groupingRuleFiltersourceRules: A GET request to return a list of grouping rule filter fields, which are used to construct dynamic groupingall the source rules from eagle database.

Resource path:

 

/eagle/report/v1/

groupingRuleFilter

sourceRules

Examples: 

Web Browser

https://O171-q001-ww01.eagleinvsys.com/eagle/report/v1/

groupingRuleFilter”

sourceRules

Curl

curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/

groupingRuleFilter

sourceRules”

Sample response:

    

[

 {
        "guidelineID": 2,

    {

       

"guidelineName": "*M Transaction Type FIL"

"sourceRuleId": 2,

       

"

guidelineDescription

sourceRuleDescription":

"*M Transaction Type FIL

"eglUpldr-Uploader Prep Rule 2-SR",

       

"

updateSource

sourceType":

"

DCLINTON

POS",

       

"

updateDate

srcInftcInst":

"2008-07-01 12:00:35

"38",

       

"

comments

sourceSeq":

null

"1"

   

}

,
 

]

globalAttributionFieldssourceRule: A GET request to return a list of global attribution fields of types Brinson Fachler, Karnosky-Singer and Eagle Fixed Income styleall sources in a source Rule by providing Source Rule Id.

Resource path:

 

/eagle/report/v1/

globalAttributionFields

sourceRule

Examples: 

Web Browser

https://O171-q001-ww01.eagleinvsys.com/eagle/report/v1/

globalAttributionFields”

sourceRules

Curl

curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/

globalAttributionFields

sourceRule/409”

Sample response:

Sample response:

    

[

   

{

       

"

id

sourceRuleId":

14533

409,

       

"

description

sourceRuleDescription":

"104102 - Bf

"GA-KS-CountrySecType-Country-SR",

        "sourceType": "ANL",

       

"

analysisStyle

srcInftcInst":

"

Brinson - Fachler

35",

       

"

updateSource

sourceSeq":

"

PERFSMOKE

1",

       

"

updateDate

sourceDescription":

"2013-05-10 06:19:01

"SRCSEC01"

   

}]

POST Method of REST Endpoint

adhocReport is a feature supported to extract OLAP report output using both POST and GET method. This runs a PACE report service based on the request payload input parameters in JSON format.

Request Formats:

POST

URL :   https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/adhocReport

Payload:

{

"reportName":

"string",

"entityId":

"string",

"beginDate":

"YYYYMMDD",

"endDate":

"YYYYMMDD",

"fields":

"string",

"outputFormat":

"JSON/

JSON2/

CSV/

TSV/

XLS

/ ERX

/ FCSV/FTSV/XCSV"

"benchmarkToPortfolio":

true/false,

"constituentsAndBenchmarkToComposite":

true/false,

"firstAlternateCurrency":

"string",

"secondAlternateCurrrency":

"string",

"fetchPriorFXRates":

"number",

"benchmarkOverride":

{

              

"Comparison

Index

4":"string",

              

"Comparison

Index

5":

"string",

              

"IsEntities":

true/

false 

false

              

},

"groupingRuleOverride":

{

   

"groupModel":

[{"simple":

"fieldID"},{"range":

"aggregationID"},{"perfModel":

"dictionaryID"}],

   

"calculationAndDisplay":

{

       

"calculateAttributionAndDisplay":

"TOTAL/fieldID/aggregationID/SECURITY",

       

"limitResultToLevelAbove":

"DoNotLimit/Limit/LimitFetchDisplay/LimitFetchNotDisplay",

       

"showBelowAttribution":

"true/false",

       

"hideBenchmarkOnlySecurities":

"true/false"

   

},

   

"dynamicPerformance":

{

      

"portfolioLookThrough":

true/false,

      

"adjustSecurityToMatchParent":

true/false,

      

"applyFilterToBenchmark":

true/false

   

},

   

"entityHierarchy":"BOTTOMUPBALANCED/TOPDOWNBALANCED/TOPDOWNUNBALANCED",

   

"globalAttributionOptions":

"Single-globalattributionFieldID"

 

},
}

},

"reportRuleId":"string",

"fieldRuleId":"string"

       


GET

URL: https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/adhocReport?  reportName=******&entityId=****,****&beginDate= YYYYMMDD &endDate= YYYYMMDD &fields= 7377,7373,11429,11779,11780&outputFormat=JSON JSON/ JSON2/ CSV/ TSV/ XLS/ ERX

For details regarding input parameters and their values in the POST request payload and GET request URL string of the adhocReport endpoint to extract OLAP report data, refer to OLAP REST API – POST VS GET Method.

Info

Note

Mandatory/Required parameters: reportName, beginDate, endDate, outputFormat

Optional parameters: fields, entities. If not given or given as empty string will submit and generate report with all fields and entities mapped with that respective report profile

. Sample  Sample POST Request with Payload:

Request URL:   https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/adhocReport

Payload:

{

"reportName":

...

"AG

...

-

...

GroupingRule

...

Override

...

GRModel1",

"entityId":

...

"MTHREN8",

"beginDate":

...

"20200504",

"endDate":

...

"20200504",

"fields":

...

"1087,1099,3277",

"outputFormat":

...

"JSON

...

"

"benchmarkToPortfolio":

...

true,

"constituentsAndBenchmarkToComposite":

...

false,

"firstAlternateCurrency":

...

"GBP",

"secondAlternateCurrrency":

...

"AUD",

"fetchPriorFXRates":

...

"4",

"benchmarkOverride":

...

{

              

...

"Comparison

...

Index

...

4":"Primary

...

Comparison

...

Index",

              

...

"IsEntities":

...

false          

              

...

},

"groupingRuleOverride":

...

{

   

...

"groupModel":

...

[{"simple":

...

"1061"},{"range":

...

"8178"},{"perfModel":

...

"178"}],

   

...

"calculationAndDisplay":

...

{

       

...

"calculateAttributionAndDisplay":

...

"1060",

       

...

"limitResultToLevelAbove":

...

"LimitFetchDisplay",

       

...

"showBelowAttribution":

...

"true",

       

...

"hideBenchmarkOnlySecurities":

...

"true"

   

...

},

   

...

"dynamicPerformance":

...

{

      

...

"portfolioLookThrough":

...

true,

      

...

"adjustSecurityToMatchParent":

...

true,

      

...

"applyFilterToBenchmark":

...

true

   

...

},

   

...

"entityHierarchy":"BOTTOMUPBALANCED",

   

...

"globalAttributionOptions":

...

"14533",

 

...

},

"reportRuleId":"3588",

"fieldRuleId":"3008"


}


           
GET METHOD:

Sample Request URL:

https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/adhocReport?reportName=JSON_Structural_ change&entityId=MTHREN10, MTHREN9&beginDate=19800302&endDate=19800302&fields= 7377, 7373, 11429, 11779, 11780&outputFormat=JSON

Postman Reference:Image Removed

...

Both GET and POST method API request for ADHOC submit with overrides will return the same response, provided with same data as query string or JSON.

...

Topics Covered in This Appendix:

  • Submitting Python Commands to invoke RESTful web service

  • Submitting Java Commands to invoke RESTful web service

Submitting Python Commands to invoke RESTful web service

Sample code snippets for POST and GET method calls using the programming language Python.

 Image Modified

 Image Modified

Submitting JAVA Commands to invoke RESTful web service

Sample code snippets for POST and GET method calls using the programming language JAVA.

   Image Modified

   Image Modified