SAP Knowledge Base Article - Public

3071787 - Required attribute on Application fields via OData API - Recruiting Management


At the current system design of the application, when a fields is set as Required and has the attribute Public set as True, or has an override changing the Public attribute to true, via API, these fields will always be required, regardless if the fields are visible or editable at the current status on the Job Requisition. On the other hand, if the field has the attribute Public set as False, this field will never be required via API, even though the Required attribute is set as True.

This behavior is specific to the API changes, the UI is working as expected, and as intended.

Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.


SAP SuccessFactors Recruiting Management

Reproducing the Issue

Attribute set as public="true"(or with override changing it to public="true") and required="true":

  1. Set the field as public="true" on the application template;
  2. Create a new application into a job requisition using the respective template;
  3. Now attempt to do any changes on the application via API;
  4. As a result, the system will not let the application to be changed if this field is not populated. So in case you are working with an operator, that does not have visibility to such field, the field will still be required any way.

Attribute set as public="false"(with no overrides) and required="true":

  1. Set the field as public="false" with no overrides;
  2. Create a new application into a job requisition using the respective template;
  3. Now when you do the changes via API, although the candidate might be in a status these fields are visible and required to the operators, the field will never be required to be filled;


This is due to the current system design on the Application/Job Requisition.


Since 2H 2023 release, a new role-based permission now allows users to skip required fields when creating and updating job applications using OData API.

What's New Viewer: Job Application Integration Enhancement for OData API

Permission: Recruiting Permissions > OData API Application Create and Update Validation Bypass for Required Fields

Expected behaviors when the permission is enabled for the API user:

  1. It validates only firstName, lastName, country, cellPhone - these are basic fields for creating a job application. Note: fields must be defined as public="true" for the validation to work.
  2. Single stage environment: Mandatory pre-screening questions will still be validated on create / upsert.
  3. Multi stage environment: No validation for mandatory pre-screening questions.


See Also

KBA 2596149 - Update a Job Application via ODATA when multistage application is used - the system requires to fill any mandatory field, even those one hidden in that specific status - Recruiting Management


application, required, public, true, false, attribute, odata, api, update, status, change, ui , KBA , LOD-SF-RCM-API , Webservices & APIs , LOD-SF-RCM , Recruiting Management , LOD-SF-RCM-APP , Applicants and Job Applications , Product Enhancement


SAP SuccessFactors Recruiting all versions