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 |
Web Browser
Examples:
Field Rules |
Curl
Field Rule By Id |
Sample response:
[
{
"instance": 257,
"profileName": "13F Report",
"reportType": "Advanced Reporting ",
"updateUser": "BASELINE ADMIN",
"updateDate": 1398830400000
}
]
...
Source Rules | https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/sourceRules |
Source Rule By Id | https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/sourceRule/{sourceRuleId} |
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: [ |
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: [ |
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: [ |
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: [ |
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:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/entity/LTTEST02” |
Sample response: [ |
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: [ |
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 |
/entitiesByType/{entity type} | |
Examples: | |
Web Browser | https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/entitiesByType/ |
Curl | curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/ |
Sample response: [ |
{ |
"id": |
"JKTXC34", |
" |
name": |
" |
JK DQM VOL CMP34", |
" |
type": |
" |
COMP" |
{ |
" |
JKTXC35", |
" |
name": |
" |
JK DQM VOL CMP35", |
" |
type": |
"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/ |
entityTypes | |
Examples: | |
Web Browser |
Curl | curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/ |
Sample response: [ |
" |
entityType": |
"description": "i Book Value (lot)
"COMP", |
" |
type": |
" |
Base", |
"updateSource": "REGFA",
"updateDate": 1268884800000
}
]
...
"basetype": null, |
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/ |
performanceDictionaries | |
Examples: | |
Web Browser |
Curl | curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/ |
Sample response: [ |
{ |
"dictionaryId": " |
95271", |
"dictionaryName": " |
113169PA-Position_Detail_Anl Check", |
{
"id
"dictionaryLevel": " |
1", |
"dictionaryLevelDesc": " |
Entity", |
"fieldAttributeId": " |
-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 |
/regularDictionaries | |
Examples: | |
Web Browser |
Curl | curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/ |
Sample response: [ |
{ |
" |
dictionaryId": |
" |
188", |
"type": "PORT"
}
]
For another Entity
[
{
"id": "JKAUMC1",
"name": "JKAUMC1 Entity Name",
"type": "ACOM"
}
]
...
"dictionaryName": "AK DICTIONARY", |
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/ |
groupingRuleRange | |
Examples: | |
Web Browser |
Curl | curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/ |
Sample response: [ |
{ |
"id": "JKOPTST2",
|
"type": "ACOM"
}, {
"id": "JKACOM36
"aggregationID": 8178, |
" |
fieldAttributeDescription": |
"eglDca-Cost", |
" |
fieldAttributeId": |
" |
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/ |
groupingRuleFilter | |
Examples: | |
Web Browser |
Curl | curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/ |
Sample response: [ |
" |
guidelineID": |
2, |
" |
guidelineName": |
"*M Transaction Type FIL", |
" |
guidelineDescription": |
" |
},
{
"id": "JKTXC35
*M Transaction Type FIL", |
" |
updateDate": |
"2008-07-01 12:00:35", |
" |
comments": |
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/ |
globalAttributionFields | |
Examples: | |
Web Browser |
Curl | curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/ |
Sample response: [ |
{ |
" |
description": |
" |
104102 - Bf", |
" |
analysisStyle": |
" |
Brinson - Fachler", |
" |
updateSource": |
"PERFSMOKE", |
"updateDate": |
" |
2013- |
"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/ |
reportRules | |
Examples: | |
Web Browser |
Curl | curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/ |
Sample response: |
[ { |
" |
reportRuleId": |
2,
|
" |
reportRuleName": |
" |
eglUpldr-Uploader Prep Rule 2",
|
" |
reportType": |
" |
Positions",
|
" |
reportSubType": |
"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/ |
fieldRules | |
Examples: | |
Web Browser |
Curl | curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/ |
Sample response: [ |
{
|
" |
fieldRuleId": |
3,
|
" |
fieldRuleName": |
"eglUpldr-Uploader Prep Rule 2-FR",
|
" |
reportType": |
"dictionaryLevelDesc": "VK_Currency
"Positions",
|
" |
reportSubType": |
" |
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/ |
{fieldRuleId} | |
Examples: | |
Web Browser |
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" }] |
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/ |
sourceRules | |
Examples: | |
Web Browser |
Curl | curl -u user:password “https://o171-q001-ww01.eagleinvsys.com/eagle/report/v1/ |
sourceRules” | |
Sample response: |
[ |
"guidelineID": 2,
{
|
"sourceRuleId": 2,
|
" |
sourceRuleDescription": |
"eglUpldr-Uploader Prep Rule 2-SR",
|
" |
sourceType": |
" |
POS",
|
" |
srcInftcInst": |
"38",
|
" |
sourceSeq": |
"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/ |
sourceRule | |
Examples: | |
Web Browser |
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 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:
...
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.
Submitting JAVA Commands to invoke RESTful web service
Sample code snippets for POST and GET method calls using the programming language JAVA.