Skip to content

REST/Tooling API


Sometimes I like to make things more difficult 😁

NOTE: Precede the REST Explorer SELECTs below with...
/services/data/v60.0/tooling/query?q=

Apex Code Coverage

Salesforce exposes coverage through Tooling API objects like: - ApexCodeCoverage (per-test-method detail) - ApexCodeCoverageAggregate (rollups per class/trigger) - ApexOrgWideCoverage (your overall org %)

...via Developer Console using Tooling API

SELECT ApexClassOrTrigger.Name, TestMethodName, NumLinesCovered, NumLinesUncovered
FROM ApexCodeCoverage

SELECT ApexClassOrTrigger.Name, NumLinesCovered, NumLinesUncovered, Coverage
FROM ApexCodeCoverageAggregate
WHERE ApexClassOrTrigger.Name = YourClassName

SELECT PercentCovered
FROM ApexOrgWideCoverage

...via REST Explorer Utility in Workbench

SELECT+ApexClassOrTrigger.Name,+TestMethodName,+NumLinesCovered,+NumLinesUncovered+FROM+ApexCodeCoverage

SELECT+ApexClassOrTrigger.Name,+NumLinesCovered,+NumLinesUncovered,+Coverage+FROM+ApexCodeCoverageAggregate+WHERE+ApexClassOrTrigger.Name+=+YourClassName

SELECT+PercentCovered+FROM+ApexOrgWideCoverage

Page Layout Assignments

...via Developer Console using Tooling API

SELECT RefMetadataComponentName, MetadataComponentId, MetadataComponentType, MetadataComponentName
FROM MetadataComponentDependency
WHERE RefMetadataComponentType = 'CustomField' AND RefMetadataComponentId = '<FIELDID>'
ORDER By RefMetadataComponentName

...via REST Explorer Utility in Workbench

SELECT+RefMetadataComponentName,+MetadataComponentId,+MetadataComponentType,+MetadataComponentName+FROM+MetadataComponentDependency+WHERE+RefMetadataComponentType+=+'CustomField'+AND+RefMetadataComponentId+=+'<FIELDID>'+ORDER+By+RefMetadataComponentName

Validation Rule Errors

...via Developer Console using Tooling API

SELECT Id, Active, Description, EntityDefinition.DeveloperName, ErrorDisplayField, ErrorMessage
FROM ValidationRule

...via REST Explorer Utility in Workbench

Select+Id,Active,Description,EntityDefinition.DeveloperName,ErrorDisplayField,+ErrorMessage+From+ValidationRule

Email Alerts

...via Developer Console using Tooling API

SELECT Id, DeveloperName, SenderType
FROM WorkflowAlert

...via REST Explorer Utility in Workbench

Select+Id,DeveloperName,SenderType+From+WorkflowAlert

All Lightning Pages

...via REST Explorer Utility in Workbench

SELECT+Id,Description,DeveloperName,EntityDefinitionId+FROM+FlexiPage

Where Is This Used?

NOT overly useful but there are suggestions cooler functionality may be coming

...via Developer Console using Tooling API

SELECT RefMetadataComponentName, MetadataComponentId, MetadataComponentType, MetadataComponentName
FROM MetadataComponentDependency
WHERE RefMetadataComponentType = 'CustomField' AND RefMetadataComponentId = '<FIELDID>'
ORDER By RefMetadataComponentName

...via REST Explorer Utility in Workbench

SELECT+RefMetadataComponentName,MetadataComponentId,MetadataComponentType,MetadataComponentName+FROM+MetadataComponentDependency+WHERE+RefMetadataComponentType='CustomField'+AND+RefMetadataComponentId='<FIELDID>'+ORDER+By+RefMetadataComponentName