[SalesForce] Field level security and API access

Could someone please explain how both of the following two statements are correct:

  1. A field hidden by field level security is not visible through the API.
  2. A user has not been granted field-level access to a field on a custom object. However, a field update will NOT fail if the user executes Apex logic that attempts to modify that field because APEX runs in system mode.

Honestly they sound like they contradict, unless I'm not seeing the difference.

Best Answer

APEX and API are two different things. Data Loader uses the API. APEX is executed on the Salesforce server in system mode.

Related Topic