Versions Compared

Key

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

REST EST API Interfaces describes the Endpoints endpoints on GET and POST methods of various OLAP endpoints exposed via RESTful web service.

Topics Covered

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 REST Endpoints

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 RESTAPIREST API.

 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 Advance reports.

Performance Dictionaries

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

reportProfiles

Web Browser

performanceDictionaries

Examples:

Regular Dictionaries

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

reportProfilescurl -u user:password “

regularDictionaries

Curl

Global Attribution Fields

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 like Regular fields, Advance fields, Special fields, Performance fields etc.

Resource path: /eagle/report/v1/fields

Examples:

Web Browser

globalAttributionFields

Grouping Rule Filters

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

Grouping Rule Range

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

Entity Types

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

Report Rules

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

Field  Rules

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

Field Rule By Id 

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

fields

Curl

curl -u user:password “

{fieldRuleId}

Source Rules

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.

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/

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

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/

fieldsByIndicator/HSample response

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

 143

 139,
        "description": "

i Book Value (lot)

i Settlement Date",
        "indicator": "

H

T",
        "type": "

Numeric

Date",
        "updateSource": "REGFA",
        "updateDate": 1268884800000
    }
]

entitiesfieldsByIndicator: A GET request to return a the list of report entitiesfields by field indicator.This includes all types of entities like Portfolios, Performance composites, Reporting Composites, Entity List etc

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/

entities

fieldsByIndicator/{fieldIndicator}

Examples:

Web Browser

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

entities

H

Curl

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

entities

H

Sample response:

[

  

    {
        "id":

"23980"

 143,
        "

name

description": "

JKAUMC9

i Book Value (lot)",
        "

type

indicator": "

COMP

H"


    }

,

   {
"id

        "type": "

10120

Numeric",
        "

name

updateSource": "

ALLGIPS

REGFA",
        "

type

updateDate":

"LIST"
   

 1268884800000
    }
]

entityByIdentities: 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 report entities.

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

Resource path: /eagle/report/v1/

entity/{entity id}

entities

Examples:

Web Browser

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

entity/LTTEST02

entities

Curl

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

entity/LTTEST02

entities

Sample response:

[
  

{

       

"id":

 

"

LTTEST02

23980",

      

"name":

 

"

LTTEST02

JKAUMC9",

       

"type":

 

"

PORT

COMP"     },
  

}
]

For another Entity

[

  {   

{
"id":

 

"

JKAUMC1

10120",

     

"name":

 

"

JKAUMC1 Entity Name

ALLGIPS ",

     

"type":

 

"

ACOM

LIST"


 

    }
]

entitiesByEntityNameLikeentityById: A GET request to return a list of entities that contain the specified value in the Entity name. This is to apply filters on the Entity name to query the list of Entities matching with the entity name filteran entity based on its ID.        

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

Resource path: /eagle/report/v1/

entitiesByEntityNameLike

entity/{entity

name

id}

Examples:

Web Browser

https://o171-q001-

w01

ww01.eagleinvsys.com/eagle/report/v1/

entitiesByEntityNameLike

entity/

JKA

LTTEST02

Curl

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

entitiesByEntityNameLike

entity/

JKA

LTTEST02

Sample response:

[

 

   {

       

       "id":

 "

JKOPTST2

LTTEST02",

       

       "name":

 "

COPYJKACOM23

LTTEST02",

       

       "type":

 "

ACOM

PORT"

    }, {
       

   }
]
For another Entity
[
  {   
"id":

 "

JKACOM36

JKAUMC1",

       

      "name":

"Copy of JKACOM3

 "JKAUMC1 Entity Name",

       

      "type":

 "ACOM"

   

  }
]

entitiesByTypeentitiesByEntityNameLike: 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, Custom index etc. This endpoint is used to filter the entities by entity typethat 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/

entitiesByType

entitiesByEntityNameLike/{entity

type

name}

Examples:

Web Browser

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

entitiesByType

entitiesByEntityNameLike/

COMP

JKA

Curl

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

entitiesByType

entitiesByEntityNameLike/

COMP

JKA

Sample response:

[
  {
       

"id":

"

JKTXC34

JKOPTST2",
       

"name":

"JK DQM VOL CMP34             

"COPYJKACOM23 ",
       

"type":

"

COMP

ACOM"
   

},


   

{
       

"id":

"

JKTXC35

JKACOM36",
       

"name":

"JK DQM VOL CMP35             

"Copy of JKACOM3 ",
       

"type":

"

COMP

ACOM"
   

}
]

POST method of REST Endpoint

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

Request Formats:

POST

...

entitiesByType: 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 type.

Resource path: /eagle/report/v1/entitiesByType/{entity type}

Examples:

Web Browser

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

adhocReport

COMP

Payload:


"reportName": "string", 
"entityId": "string", 
"beginDate": "YYYYMMDD",
"endDate": "YYYYMMDD", 
"fields": "string",
"outputFormat": "JSON/ JSON2/ CSV/ TSV/ XLS/ ERX"
}

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

Details of input parameter and its values in POST request payload and GET Request URL String of ‘adhocReport’ endpoint to extract and OLAP report data.

Input Parameter

Description

reportName

Name of the Report.  As name indicates, report name should be provided in string format.

entityId

Single entity Id or multiple entity Id’s with comma (,) or tilde (~) as separator should be provided in string format.

beginDate

Beginning date of the report should be provided in this particular format (YYYYMMDD).

endDate

End Date of the report should be provided in this particular format (YYYYMMDD).

fields

§  Single field Id or multiple field Id’s with comma (,) or tilde (~) as separator should be provided in string format.

§  Fields related to entity or security characteristic should be given along with calculation or other performance fields.

outputFormat

§  Provide any one output format from the list JSON, JSON2, CSV, TSV, XLS, ERX to receive response in that particular format.

§  Any format apart from these given options will get you response in JSON2 format (default).

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 POST Request with Payload:

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

Payload:

{
  "reportName": "AG Total Level PAC",   
   "entityId": "MTHREN10,MTHREN9",
  "beginDate": "20190102",
   "endDate": "20190102",
  "fields": " ", 
  "outputFormat": "JSON"
}

...

Curl

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

Sample response:

[
 {
        "id": "JKTXC34",
        "name": "JK DQM VOL CMP34",
        "type": "COMP"
    },
    {
        "id": "JKTXC35",
        "name": "JK DQM VOL CMP35",
        "type": "COMP"
    }
]

entityTypes: 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 types.

Resource path: /eagle/report/v1/entityTypes

Examples:

Web Browser

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

Curl

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

Sample response:    

[
     {  
        "entityType": "COMP",
        "type": "Base",
        "basetype": null,
        "updateDate": "2020-03-03 09:33:32",
        "updateUser": "ALOMBARDO"
    }]

performanceDictionaries: A GET request to return a list of performance dictionaries, which  are otherwise called as stored performance models.

Resource path:   /eagle/report/v1/performanceDictionaries

Examples:

Web Browser

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

Curl

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

Sample response:    

[
{
        "dictionaryId": "95271",
        "dictionaryName": "113169PA-Position_Detail_Anl Check",
        "dictionaryLevel": "1",
        "dictionaryLevelDesc": "Entity",
        "fieldAttributeId": "-1"
    }]  

regularDictionaries: A GET request to return a list of regular dictionaries.

Resource path:  /eagle/report/v1/regularDictionaries

Examples: 

Web Browser

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

Curl

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

Sample response:    

[
 {
        "dictionaryId": "188",
        "dictionaryName": "AK DICTIONARY",
        "dictionaryLevel": "1",
        "dictionaryLevelDesc": "VK_Currency",
        "fieldAttributeId": "9334"
     }
]

groupingRuleRange: A GET request to return a list of grouping rule Range fields which are used to construct dynamic grouping.

Resource path: /eagle/report/v1/groupingRuleRange

Examples: 

Web Browser

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

Curl

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

Sample response:    

[

{
        "aggregationID": 8178,
        "aggregationDescription": "AG Range GR Field",
        "fieldAttributeDescription": "eglDca-Cost",
        "fieldAttributeId": "6841"
    }]

groupingRuleFilter: A GET request to return a list of grouping rule filter fields, which are used to construct dynamic grouping.

Resource path: /eagle/report/v1/groupingRuleFilter

Examples: 

Web Browser

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

Curl

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

Sample response:    

[
 {
        "guidelineID": 2,
        "guidelineName": "*M Transaction Type FIL",
        "guidelineDescription": "*M Transaction Type FIL",
        "updateSource": "DCLINTON",
        "updateDate": "2008-07-01 12:00:35",
        "comments": null
    },
  ]

globalAttributionFields: A GET request to return a list of global attribution fields of types Brinson Fachler, Karnosky-Singer and Eagle Fixed Income style.

Resource path: /eagle/report/v1/globalAttributionFields

Examples: 

Web Browser

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

Curl

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

Sample response:    

[
    {
        "id": 14533,
        "description": "104102 - Bf",
        "analysisStyle": "Brinson - Fachler",
        "updateSource": "PERFSMOKE",
        "updateDate": "2013-05-10 06:19:01"
    }]

reportRules: A GET request to return a list of all report rules in Eagle Database.

Resource path: /eagle/report/v1/reportRules

Examples:

Web Browser

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

Curl

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

Sample response:

[

    {

       "reportRuleId": 2,

        "reportRuleName": "eglUpldr-Uploader Prep Rule 2",

        "reportType": "Positions",

        "reportSubType": "Single Period"

    }]

fieldRules: A GET request to return a list of all field Rules in Eagle Database.

Resource path: /eagle/report/v1/fieldRules

Examples: 

Web Browser

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

Curl

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

Sample response:    

[

    {

        "fieldRuleId": 3,

        "fieldRuleName": "eglUpldr-Uploader Prep Rule 2-FR",

        "reportType": "Positions",

        "reportSubType": "Single Period"

    }]

fieldRule: A GET request to return a list of all fields in a field rule by providing field rule ID.

Resource path: /eagle/report/v1/fieldRule/{fieldRuleId}

Examples: 

Web Browser

https://O171-q001-ww01.eagleinvsyfiels.com/eagle/report/v1/fieldRule/379

Curl

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

Sample response:

[

    {

        "fieldRuleId": 379,

        "fieldRuleName": "Partition UI Test RR-FR",

        "fieldName": "Security ID",

        "fieldAttributeId": "2235"

    }]

sourceRules: A GET request to return a list of all the source rules from eagle database.

Resource path:/eagle/report/v1/sourceRules

Examples: 

Web Browser

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

Curl

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

Sample response:

[

    {

        "sourceRuleId": 2,

        "sourceRuleDescription": "eglUpldr-Uploader Prep Rule 2-SR",

        "sourceType": "POS",

        "srcInftcInst": "38",

        "sourceSeq": "1"

    }]

sourceRule: A GET request to return a list of all sources in a source Rule by providing Source Rule Id.

Resource path: /eagle/report/v1/sourceRule

Examples: 

Web Browser

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

Curl

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

Sample response:

Sample response:

[

    {

        "sourceRuleId": 409,

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

        "sourceType": "ANL",

        "srcInftcInst": "35",

        "sourceSeq": "1",

        "sourceDescription": "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/ 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

               },

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