How to query all the Apex Classes the profile have access to in Salesforce?

How to query all the Apex Classes the profile have access to in Salesforce?

1. Run the below SOQL to get the PermissionSet Id.

SELECT Id, Profile.Name 
FROM PermissionSet 
WHERE Profile.Name = 'System Administrator'

2. Use the PermissionSet Id from the step 1 and use it in the below SOQL for ParentId.

SELECT Name 
FROM ApexClass 
WHERE Id IN ( 
	SELECT SetupEntityId 
	FROM SetupEntityAccess 
	WHERE ParentId = '0PS4x000003oZ9DGAU' 
	AND SetupEntityType = 'ApexClass' 
)

Leave a Reply