StatPro Revolution Web API


The Portfolio Reporting Components Resource


Overview

The Portfolio Reporting Components resource represents a non-paged collection of alternative settings portfolios for a specific parent portfolio. The portfolios in the collection can include those that are owned by the user, and those that are owned by other users and currently shared to the identified user.

Typically reporting components are configured to allow different sets of settings to be applied to the same parent portfolio facilitating more complex reporting demands.

Each reporting component within the collection contains the name, unique identifier, code and owner name of each portfolio reporting components, as well as an optional link to the components' default Portfolio Analysis resource. By following the link to the portfolio analysis, a client application is able to get more information about the portfolio, information about its default analysis, and (if available) analysis results data. Some portfolio reporting components will optionally include a link to a Compliance Portfolio Analysis resource if they have been activated for Compliance. By activating this link it will be possible to get information about the compliance analysis settings for the portfolio and (if available) access the compliance results data. Portfolio reporting components which have had results proposed for sign-off or results previously signed-off will also include links to an Portfolio Awaiting Sign-Off analysis and/or a Portfolio Signed-Off Analysis. Following these links allows client applications to extract the results data relating to these analyses (if available).

Additionally, the reporting components collection contains information regarding the parent portfolio of the reporting components. The same information that is retrieved for each of the reporting components is available for the parent portfolio. See the annotated Representations below for an example.


Media types

The Portfolio Reporting Components resource is exposed via XML and JSON representations, which have the following media type names:-

application/vnd.statpro.revolution.api.portfolio-reporting-components+json

application/vnd.statpro.revolution.api.portfolio-reporting-components+xml

When a response is received from the web service with status 200 (= OK), the fact that the response contains a Portfolio Reporting Components resource representation is indicated by the presence of one of these two response headers:-

Content-Type: application/vnd.statpro.revolution.api.portfolio-reporting-components+json; charset=utf-8

Content-Type: application/vnd.statpro.revolution.api.portfolio-reporting-components+xml; charset=utf-8


Related resources

The Portfolio Reporting Components resource links to the Service, Portfolios, Portfolio Analysis, Compliance Portfolio Analysis, Awaiting Sign-Off Portfolio Analysis and Signed-Off Portfolio Analysis resources. It also links to itself in a variety of different ways. To do so, its resource representations use link relations:-

  • service
  • self
  • portfolios-query
  • default-portfolio-analysis
  • compliance-portfolio-analysis
  • awaiting-signoff-portfolio-analysis
  • signedoff-portfolio-analysis

The service link relation identifies the Service resource link.

The portfolios-query link relation identifies the resource link that allows a fresh query for portfolios to be made. The fact that the link relation ends with "-query" indicates that a client-specified query must be made for portfolios, when using this link. This is done by replacing all the text-replacement parts of the link's query string (such as {filter}) with values. Specifying invalid values will result in a 400 (= Bad Request) response. All the text replacement parts of the query string can be replaced with the empty string. To apply filtering, ordering and slicing according to a subset of the ODATA system query options syntax, please refer to the portfolios-query link relation's documentation page.

The default-portfolio-analysis link relation identifies the default Portfolio Analysis resource link, for each portfolio reporting component in the collection. The Portfolio Analysis resource contains extra information about a portfolio, contains analysis-specific information, and also affords access to analysis results data (contained in other resources). Note that a portfolio's default portfolio analysis is the main one that is used in the Revolution desktop website.

Each default-portfolio-analysis link's URI contains query string lastSuccessful=false. This tells the web service to return the latest version of the default portfolio analysis, regardless of its status (e.g. it may still be in progress, or it may have failed). A client application may change the value of this query string to true (i.e. lastSuccessful=true) to request the last successful version, if available. The last-successful version will contain analysis results data, whereas the latest version, if still in progress or if failed, will not. For more details please refer to the default-portfolio-analysis link relation's documentation page.

The compliance-portfolio-analysis link relation will only be included if the portfolio reporting component has been activated for Compliance. This link identifies the compliance portfolio analysis resource containing information about the settings used for compliance and also provides access to the compliance results. Unlike the default-portfolio-analysis there is only one version of the compliance portfolio analysis that can be retrieved. For further details please refer to the compliance-portfolio-analysis link relation's documentation page.

The awaiting-signoff-portfolio-analysis link relation will only be included if the portfolio reporting component has some results that have been proposed for sign-off via the Portfolio Sign-off Dashboard within the Revolution website. It identifies details of the Awaiting Sign-Off Portfolio Analysis resource which contains analysis specific information and allows further access to the results relating to the awaiting sign-off analysis (if available). For further details please refer to the awaiting-signoff-portfolio-analysis link relation's documentation page.

The signoff-portfolio-analysis link relation will only be included if the portfolio reporting component has some results that have been previously signed off via the Portfolio Sign-off Dashboard within the Revolution website. It identifies details of the Signed-Off Portfolio Analysis resource which contains analysis specific information and allows further access to the results relating to the signed-off analysis (if available). For further details please refer to the signedoff-portfolio-analysis link relation's documentation page.

All related resources are accessed using the HTTP GET method.


Update history

  • Additional portfolio properties for portfolio identifiers, reporting tags, calculation type and calculation context have been added to the resource representation - February 2015
  • Initial Version - December 2014

Annotated Representation (JSON)

Legend

{
  "portfolioReportingComponents": {
    "links": {
      "service": {
        "rel": "service",
        "href": "...",
        "type": "application/vnd.statpro.revolution.api.service+json"
      },
      "self": {
        "rel": "self",
        "href": "...",
        "type": "application/vnd.statpro.revolution.api.portfolio-reporting-components+json"
      },
      "portfoliosQuery": {
        "rel": "portfolios-query",
        "href": "...?$filter={filter}&$orderby={orderby}&$skip={skip}&$top={top}&includePublishedPortfolios=false&portfolioClassifierCode=",
        "type": "application/vnd.statpro.revolution.api.portfolios+json"
      }
    },
    "parentPortfolio": {
      "name": "Main Portfolio 1",
      "id": "a63d03de-db2b-4c5f-867c-463b4be3fdc1",
      "code": "MainPF",
      "owner": "John Smith",
      "calculationType": "Standard",
      "calculationContext": "Daily",
      "identifiers": {
        "isin": "GB0123456789",
        "characteristic1": "9572",
        "characteristic2": "7769",
        "characteristic3": "AZ654"
      },
      "reportingTag": {
        "group": "Default",
        "name": "TDSL By Asset Class"
      },
      "links": {
        "defaultAnalysis": {
          "rel": "default-portfolio-analysis",
          "href": "...",
          "type": "application/vnd.statpro.revolution.api.portfolio-analysis+json"
        },
        "complianceAnalysis": {
          "rel": "compliance-portfolio-analysis",
          "href": "...",
          "type": "application/vnd.statpro.revolution.api.compliance-portfolio-analysis+json"
        },
        "awaitingSignOffAnalysis": {
          "rel": "awaiting-signoff-portfolio-analysis",
          "href": "...",
          "type": "application/vnd.statpro.revolution.api.awaiting-signoff-portfolio-analysis+json"
        },
        "signedOffAnalysis": {
          "rel": "signedoff-portfolio-analysis",
          "href": "...",
          "type": "application/vnd.statpro.revolution.api.signedoff-portfolio-analysis+json"
        },
        "portfolioReportingComponents": {
          "rel": "portfolio-reporting-components",
          "href": "...",
          "type": "application/vnd.statpro.revolution.api.portfolio-reporting-components+json"
        }
      }
    },
    "reportingComponents": [
      {
        "name": "Child Portfolio 1",
        "id": "df5e9afb-7725-40a4-996b-3aa65655675e",
        "code": "P5",
        "owner": "John Smith",
        "calculationType": "Standard",
        "calculationContext": "ReportingComponent",
        "identifiers": {
          "isin": "GB0123456789",
          "characteristic1": "9572",
          "characteristic2": "7769",
          "characteristic3": "AZ654"
        },
        "reportingTag": {
          "group": "Default",
          "name": "TDSL By Country"
        },
        "links": {
          "defaultAnalysis": {
            "rel": "default-portfolio-analysis",
            "href": "...",
            "type": "application/vnd.statpro.revolution.api.portfolio-analysis+json"
          },
          "awaitingSignOffAnalysis": {
            "rel": "awaiting-signoff-portfolio-analysis",
            "href": "...",
            "type": "application/vnd.statpro.revolution.api.awaiting-signoff-portfolio-analysis+json"
          },
          "signedOffAnalysis": {
            "rel": "signedoff-portfolio-analysis",
            "href": "...",
            "type": "application/vnd.statpro.revolution.api.signedoff-portfolio-analysis+json"
          }
        }
      },
      {
        "name": "Child Portfolio 2",
        "id": "ae95e6a2-f403-4258-99ec-cf4c7e53fa55",
        "code": "P6",
        "owner": "John Smith",
        "calculationType": "Standard",
        "calculationContext": "ReportingComponent",
        "identifiers": {
          "isin": "GB0123456789",
          "characteristic1": "9572",
          "characteristic2": "7769",
          "characteristic3": "AZ654"
        },
        "reportingTag": {
          "group": "Default",
          "name": "Bottom Up"
        },
        "links": {
          "defaultAnalysis": {
            "rel": "default-portfolio-analysis",
            "href": "...",
            "type": "application/vnd.statpro.revolution.api.portfolio-analysis+json"
          },
          "awaitingSignOffAnalysis": {
            "rel": "awaiting-signoff-portfolio-analysis",
            "href": "...",
            "type": "application/vnd.statpro.revolution.api.awaiting-signoff-portfolio-analysis+json"
          },
          "signedOffAnalysis": {
            "rel": "signedoff-portfolio-analysis",
            "href": "...",
            "type": "application/vnd.statpro.revolution.api.signedoff-portfolio-analysis+json"
          }
        }
      },
      {
        "name": "Child Portfolio 3",
        "id": "e61f4e42-a6bd-4318-b18c-ba663d8b4fb8",
        "code": "P7",
        "owner": "John Smith",
        "calculationType": "Standard",
        "calculationContext": "ReportingComponent",
        "identifiers": {
          "isin": "GB0123456789",
          "characteristic1": "9572",
          "characteristic2": "7769",
          "characteristic3": "AZ654"
        },
        "reportingTag": {
          "group": "AfterTax",
          "name": "TDSL By Country"
        },
        "links": {
          "defaultAnalysis": {
            "rel": "default-portfolio-analysis",
            "href": "...",
            "type": "application/vnd.statpro.revolution.api.portfolio-analysis+json"
          },
          "awaitingSignOffAnalysis": {
            "rel": "awaiting-signoff-portfolio-analysis",
            "href": "...",
            "type": "application/vnd.statpro.revolution.api.awaiting-signoff-portfolio-analysis+json"
          },
          "signedOffAnalysis": {
            "rel": "signedoff-portfolio-analysis",
            "href": "...",
            "type": "application/vnd.statpro.revolution.api.signedoff-portfolio-analysis+json"
          }
        }
      },
      {
        "name": "Child Portfolio 4",
        "id": "19dc95ab-a368-45d9-9220-c87db3ab2d72",
        "code": "P8",
        "owner": "John Smith",
        "calculationType": "Standard",
        "calculationContext": "ReportingComponent",
        "identifiers": {
          "isin": "GB0123456789",
          "characteristic1": "9572",
          "characteristic2": "7769",
          "characteristic3": "AZ654"
        },
        "reportingTag": {
          "group": "AfterTax",
          "name": "Bottom Up"
        },
        "links": {
          "defaultAnalysis": {
            "rel": "default-portfolio-analysis",
            "href": "...",
            "type": "application/vnd.statpro.revolution.api.portfolio-analysis+json"
          },
          "awaitingSignOffAnalysis": {
            "rel": "awaiting-signoff-portfolio-analysis",
            "href": "...",
            "type": "application/vnd.statpro.revolution.api.awaiting-signoff-portfolio-analysis+json"
          },
          "signedOffAnalysis": {
            "rel": "signedoff-portfolio-analysis",
            "href": "...",
            "type": "application/vnd.statpro.revolution.api.signedoff-portfolio-analysis+json"
          }
        }
      }
    ]
  }
}


Annotated Representation (XML)

Legend

<?xml version="1.0" encoding="utf-8"?>
<portfolioReportingComponents xmlns="http://statpro.com/2012/Revolution">
  <link rel="service"
        href="..."
        type="application/vnd.statpro.revolution.api.service+xml" />
  <link rel="self"
        href="..."
        type="application/vnd.statpro.revolution.api.portfolio-reporting-components+xml" />
  <link rel="portfolios-query"
        href="...?$filter={filter}&amp;$orderby={orderby}&amp;$skip={skip}&amp;$top={top}&amp;includePublishedPortfolios=false&amp;portfolioClassifierCode="
        type="application/vnd.statpro.revolution.api.portfolios+xml" />
  <parentPortfolio>
    <name>Main Portfolio 1</name>
    <id>a63d03de-db2b-4c5f-867c-463b4be3fdc1</id>
    <code>MainPF</code>
    <owner>John Smith</owner>
    <calculationType>Standard</calculationType>
    <calculationContext>Daily</calculationContext>
    <identifiers>
      <isin>GB0123456789</isin>
      <characteristic1>9572</characteristic1>
      <characteristic2>7769</characteristic2>
      <characteristic3>AZ654</characteristic3>
    </identifiers>
    <reportingTag>
      <group>Default</group>
      <name>TDSL By Asset Class</name>
    </reportingTag>
    <link rel="default-portfolio-analysis"
          href="..."
          type="application/vnd.statpro.revolution.api.portfolio-analysis+xml" />
    <link rel="compliance-portfolio-analysis"
          href="..."
          type="application/vnd.statpro.revolution.api.compliance-portfolio-analysis+xml" />
    <link rel="awaiting-signoff-portfolio-analysis"
          href="..."
          type="application/vnd.statpro.revolution.api.awaiting-signoff-portfolio-analysis+xml" />
    <link rel="signedoff-portfolio-analysis"
          href="..."
          type="application/vnd.statpro.revolution.api.signedoff-portfolio-analysis+xml" />
    <link rel="portfolio-reporting-components"
          href="..."
          type="application/vnd.statpro.revolution.api.portfolio-reporting-components+xml" />
  </parentPortfolio>
  <portfolioReportingComponent>
    <name>Child Portfolio 1</name>
    <id>df5e9afb-7725-40a4-996b-3aa65655675e</id>
    <code>P5</code>
    <owner>John Smith</owner>
    <calculationType>Standard</calculationType>
    <calculationContext>ReportingComponent</calculationContext>
    <identifiers>
      <isin>GB0123456789</isin>
      <characteristic1>9572</characteristic1>
      <characteristic2>7769</characteristic2>
      <characteristic3>AZ654</characteristic3>
    </identifiers>
    <reportingTag>
      <group>Default</group>
      <name>TDSL By Country</name>
    </reportingTag>
    <link rel="default-portfolio-analysis"
          href="..."
          type="application/vnd.statpro.revolution.api.portfolio-analysis+xml" />
    <link rel="awaiting-signoff-portfolio-analysis"
          href="..."
          type="application/vnd.statpro.revolution.api.awaiting-signoff-portfolio-analysis+xml" />
    <link rel="signedoff-portfolio-analysis"
          href="..."
          type="application/vnd.statpro.revolution.api.signedoff-portfolio-analysis+xml" />
  </portfolioReportingComponent>
  <portfolioReportingComponent>
    <name>Child Portfolio 2</name>
    <id>ae95e6a2-f403-4258-99ec-cf4c7e53fa55</id>
    <code>P6</code>
    <owner>John Smith</owner>
    <calculationType>Standard</calculationType>
    <calculationContext>ReportingComponent</calculationContext>
    <identifiers>
      <isin>GB0123456789</isin>
      <characteristic1>9572</characteristic1>
      <characteristic2>7769</characteristic2>
      <characteristic3>AZ654</characteristic3>
    </identifiers>
    <reportingTag>
      <group>Default</group>
      <name>Bottom Up</name>
    </reportingTag>
    <link rel="default-portfolio-analysis"
          href="..."
          type="application/vnd.statpro.revolution.api.portfolio-analysis+xml" />
    <link rel="awaiting-signoff-portfolio-analysis"
          href="..."
          type="application/vnd.statpro.revolution.api.awaiting-signoff-portfolio-analysis+xml" />
    <link rel="signedoff-portfolio-analysis"
          href="..."
          type="application/vnd.statpro.revolution.api.signedoff-portfolio-analysis+xml" />
  </portfolioReportingComponent>
  <portfolioReportingComponent>
    <name>Child Portfolio 3</name>
    <id>e61f4e42-a6bd-4318-b18c-ba663d8b4fb8</id>
    <code>P7</code>
    <owner>John Smith</owner>
    <calculationType>Standard</calculationType>
    <calculationContext>ReportingComponent</calculationContext>
    <identifiers>
      <isin>GB0123456789</isin>
      <characteristic1>9572</characteristic1>
      <characteristic2>7769</characteristic2>
      <characteristic3>AZ654</characteristic3>
    </identifiers>
    <reportingTag>
      <group>AfterTax</group>
      <name>TDSL By Country</name>
    </reportingTag>
    <link rel="default-portfolio-analysis"
          href="..."
          type="application/vnd.statpro.revolution.api.portfolio-analysis+xml" />
    <link rel="awaiting-signoff-portfolio-analysis"
          href="..."
          type="application/vnd.statpro.revolution.api.awaiting-signoff-portfolio-analysis+xml" />
    <link rel="signedoff-portfolio-analysis"
          href="..."
          type="application/vnd.statpro.revolution.api.signedoff-portfolio-analysis+xml" />
  </portfolioReportingComponent>
  <portfolioReportingComponent>
    <name>Child Portfolio 4</name>
    <id>19dc95ab-a368-45d9-9220-c87db3ab2d72</id>
    <code>P8</code>
    <owner>John Smith</owner>
    <calculationType>Standard</calculationType>
    <calculationContext>ReportingComponent</calculationContext>
    <identifiers>
      <isin>GB0123456789</isin>
      <characteristic1>9572</characteristic1>
      <characteristic2>7769</characteristic2>
      <characteristic3>AZ654</characteristic3>
    </identifiers>
    <reportingTag>
      <group>AfterTax</group>
      <name>Bottom Up</name>
    </reportingTag>
    <link rel="default-portfolio-analysis"
          href="..."
          type="application/vnd.statpro.revolution.api.portfolio-analysis+xml" />
    <link rel="awaiting-signoff-portfolio-analysis"
          href="..."
          type="application/vnd.statpro.revolution.api.awaiting-signoff-portfolio-analysis+xml" />
    <link rel="signedoff-portfolio-analysis"
          href="..."
          type="application/vnd.statpro.revolution.api.signedoff-portfolio-analysis+xml" />
  </portfolioReportingComponent>
</portfolioReportingComponents>


Last updated: December 2014


To Top