2387567 - PerPerson ODATA API doesn't fetch the records from all the employees

SAP Knowledge Base Article - Public

2387567 - PerPerson ODATA API doesn't fetch the records from all the employees

Symptom

You are trying to query data of employee data from PerPerson Odata API entity.

However, it doesn't return data of all the employees existing in the successfactors system

Environment

Successfactors API

Reproducing the Issue

Execute the below query 

/odata/v2/PerPerson?$format=json&$select=personIdExternal

You notice that all the records present in sucessfactors system is not returned.

For example, you obtain one or two records as shown below:

 {
"results" : [
{
"__metadata" :

{ "uri" : "https://api4.successfactors.com:443/odata/v2/PerPerson('1234')", "type" : "SFOData.PerPerson" }

, "personIdExternal" : "1234"
}, {
"__metadata" :

{ "uri" : "https://api4.successfactors.com:443/odata/v2/PerPerson('2345')", "type" : "SFOData.PerPerson" }

, "personIdExternal" : "2345"
}, {
"__metadata" :

}

Cause

This is a permissions issue.

The API user (User who triggers the API call) has limited access to the data.

Resolution

Provide the below permissions to the API user.

Admin Center -> Select the Permission Role -> Click on Permissions Tab.
Scroll down to "Employee Central API" as shown in the screenshot and enable the highlighted permission.

permissions.png

See Also

Employee Central OData API Reference Guide

 

 

Keywords

PerPerson Odata API issue Employee Central HRIS OData API  , KBA , LOD-SF-INT-API , SF API & Adhoc API Framework , LOD-SF-INT , SF Integrations - EC Payroll, Boomi/ HCI, API , Problem

Product

SAP SuccessFactors HCM Core all versions