Skip to main content
Version: Version 22

Connector


Introduction​

A connector is a single OData link to FCC data, with its own access control and authentication keys. Open a connector from the Connectors overview to manage it. This article describes the connector page and the query options of the OData feed.


The connector page​

The connector page shows:

  • OData Link: the URL external tools use to retrieve the data. Copy it with the copy button.
  • Members: who has access to this connector.
  • Authentication Keys: the keys that grant access to the feed. Add a key with + Key (with a description and an expiry date). The key value is shown once and masked afterwards. Remove a key with Delete.

Note: Keys expire on the configured date. Plan key rotation before expiry, or reports will stop refreshing. Treat keys as secrets.


Querying the OData feed​

Endpoints are available for the different objects (e.g. Project, Portfolio). Use the root level of the OData link to retrieve the available endpoints, and /$metadata to see the available fields.

Selecting relevant columns​

Use the $select query parameter to select the relevant columns:

$select=Name,Portfolio

Selecting relevant rows​

Use the $filter query parameter to select relevant rows, for example projects from a specific portfolio:

$filter=Portfolio eq 12368613

A filter on SystemModificationDate retrieves only objects modified since a certain date, useful for incremental loads.

Pagination​

The endpoints use server-driven paging with a maximum page size of 1000 records per request, even when the client requests more using $top.

  • With $top=1500, the first request returns 1000 records and the response includes an @odata.nextLink for the remaining 500.
  • Use $skip to start reading from a different point. For best performance, use $skip in multiples of the page size (1000, 2000, ...).
  • When $skip exceeds the total number of records, the response returns an empty array without an @odata.nextLink.

Archived items​

Archived items are excluded by default. To include them:

$filter=_archived eq 1 or _archived eq 0

Retrieving the total number of rows​

$inlinecount=allpages

Entry endpoints​

Three special endpoints are available for booking entries: /CostEntry, /HourEntry, and /ObjectiveEntry.

  • $filter supports basic operators such as eq, gt, lt, and ne.
  • $select: the selected columns are used to group and aggregate the returned values. The default values are Startdate, Type, and the value field. Grouping by value fields (e.g. Actual, Allocation, Reserved) has no effect, as this grouping is applied by default. When selecting a display value or key column, both values are returned.
  • Timeline horizon parameters:
    • scale: Days, Weeks, Months, Quarters, or Years (default: Months).
    • startdate: YYYY-MM-DD format (default: January 1 of the current year).
    • horizon: positive integer, the duration in months (default: 12).
    • Invalid values result in an error response.

Example:

.../BiConnectivityOdataConnector/<id>/HourEntry?$select=Portfolio,Portfolio_Item&$filter=Type eq 'Capacity'&$inlinecount=allpages&scale=Quarters&startdate=2026-01-01&horizon=24

Need more support?​

For step-by-step instructions or troubleshooting, contact your Fortes Change Cloud administrator or consult in-app help.