Navigation

In addition to projection, the REST API allows navigation (drill down) into specific properties of an entity.
This makes it possible to retrieve related entities and their details directly.


Examples

Retrieve the Caller (Person) of a Service Request

GET http://myserver:5181/odata/ServiceRequests(3101097999)/Caller

Retrieve all Workorders of a Service Request

GET http://myserver:5181/odata/ServiceRequests(3101097999)/Workorders

A collection reached by navigation is paged like any other collection: by default the response holds the first 20 entries and an @odata.nextLink to the rest. $top limits the total number of entries (at most 250 per response), $skip skips entries, and Prefer: odata.maxpagesize chooses the page size; $filter, $orderby, $select and $expand also apply:

GET http://myserver:5181/odata/ServiceRequests(3101097999)/HistoryLines?$skip=50&$top=50

Retrieve a specific History Line of a Service Request

GET http://myserver:5181/odata/ServiceRequests(3101097999)/HistoryLines(281486107213906)

Combine Navigation with Projection

You can also apply $select and $expand when navigating.
Example: Return a specific Workorder and expand only the Subject of its History Lines:

GET http://myserver:5181/odata/ServiceRequests(3101097999)/Workorders(281486107213906)?$expand=HistoryLines($select=Subject)

Retrieve the Organization of a Caller

GET http://myserver:5181/odata/ServiceRequests(3101097999)/Caller/Organization

Nested References (since API v2.2)

Navigation supports nested references of complex objects.
Example: Retrieve the AssigneePerson of an Assignment:

GET http://myserver:5181/odata/ServiceRequests(3101097999)/Assignment/AssigneePerson
Back to top