Share this page

# OData for developers

PPM supports OData (Open Data Protocol), the OASIS REST-based standard for accessing data. Developers with required access can use OData to access PPM data. This topic provides instructions for accessing PPM data using OData.

In this topic:

## Prerequisites

You should configure the following before using OData to access PPM data.

- Expose PPM data to OData by creating a self-service portlet data source from a dashboard data source. For details, see Create from dashboard data sources.
- Enable the self-service portlet data source.

- Specify who can access PPM data by giving users or user groups the access to the self-service portlet data source. For details, see Access.

  Developers that belong to the specified user groups can retrieve PPM data over OData by directly querying with an API client.

## Base URI

The PPM server base URI for accessing PPM data using OData is:

https://<web_server><server_port>/itg/odata/<self_service_portlet_data_source_service_name>

## Access PPM data using OData

This section describes how to access PPM data using OData with a REST client.

### Authenticate

To work with OData, authenticate using one of the authentication methods described in Authentication.

### Retrieve PPM data

You can use OData to retrieve PPM data, but you cannot update (POST, PUT, DELETE) PPM data. Only GET requests are supported.

Action | Details
--- | ---
Get the metadata | Append $metadata to the base URI: `GET <base_URI>/$metadata` The data is returned in the XML format.
Get the rows | For custom self-service portlet data sources, append Rows to the base URI: `GET <base_URI>/Rows` For Predefined self-service portlet data sources, append the EntitySet returned in the metadata to the base URI: `GET <base_URI>/<EntitySet_Name>` The data is returned in the JSON format.

### Use OData query options for refined results

Refine the results by appending the query options to the end of the GET requests.

PPM currently supports the following OData URI conventions:

OData URI conventions | Details
--- | ---
Functions | String functions: concat, contains, endswith, startswith, indexof, length, toupper, tolower, trim, substring, round
Operators | Logical operators: gt, lt, ge, le, eq, ne, and, or, not Arithmetic operators: add, div, - (the minus sign), mod, mul, sub
Transformations | $apply transformations: aggregate, filter, groupby

For details about the OData URI conventions, see the OData documentation.

### Example

Example: To return the forecast benefits of the portfolio 30000, grouped by strategic themes:

`GET <base_URI>/PortfolioItems?PORTFOLIO_ID=30000&$apply=groupby((RES_F_strategicTheme),aggregate(RES_F_totalForecastBenefit%20with%20sum%20as%20RES_F_totalForecastBenefit_totals))`

## See also

- Create Self-service portlet data sources

https://admhelp.microfocus.com PPM 8942
Tips to improve your search results... OpenText™ Project and Portfolio Management Help Center PPM Help 26.2-26.3 All View Local Help Center View Online Help Center Version: