Symptom
We are working on an application that deals with the SuccessFactors OData API queries to retrieve the Performance Goals data.
We need to get a list of assigned goals for an employee or list of employees for a goal.
Which entity should we query to get the information that we need - list of employees with a specific goal, or list of goals for a specific employee?
Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.
Environment
SAP SuccessFactors Performance Management
Resolution
The performance OData APIs has some limitations. You can build a API query to retrieve the goals, but the system will return by default your own user goal (it will not return the Goals of all employees).
To see the Goal for other employees it is necessary to include in the filters the userid, example below:
https://apisalesdemoX.successfactors.com/odata/v2/Goal_9?$format=json&$filter=userId eq '104054'
In the Integration center, you should filter as the example below:
This is something in the API webservice code, not related with permissions.
This is a known limitation. Some entities do not return data from other persons. The complete list of entities that cannot be used for direct query is listed in the KBA below:
2443143 - List of Odata API Entities that do not support a direct Query
Keywords
Performance Odata/API, Extract Performance Goals, list of assigned goals for an employee, employees for a goal, SuccessFactors Employee Central, OData Queries in the SF Goals entity, &$filter=userId, query, API not working. , KBA , LOD-SF-INT-API , API & Adhoc API Framework , LOD-SF-INT , Integrations , LOD-SF-GM-API , Webservices, OData APIs , Problem