Monitor Composite API Usage with Event Monitoring
You can now query the EventLogFile object for two new event types:
CompositeApi— Logs top-level Composite API requests.CompositeApiSubrequest— Logs each subrequest within a Composite or Composite Graph call.
✅ Ensure Event Monitoring Is Enabled
- Go to Setup →
Event Monitoring Settings. - Make sure this “Generate event log files” is enabled.

🧾 Why This Matters
- Gain detailed visibility into how Composite APIs are used
- Monitor performance and troubleshooting at both the request and subrequest level.
- Useful for governance, debugging, and optimizing integrations using Composite/Graph APIs.
🛠️ Next Steps
You can access these logs via API, Workbench, or Event Monitoring Analytics app.
- Download the
LogFilefrom the record. - Decode it (the file is in JSON or CSV format, depending on your org).
- Parse for details like:
- URI
- Method (GET, POST, etc.)
- Status code
- Processing time
- Subrequest path and result
🔍 How to Query
You can run SOQL queries on the EventLogFile object like so:
Query Composite API requests
SELECT Id, EventType, LogDate, LogFileLength, LogFile
FROM EventLogFile
WHERE EventType = ‘CompositeApi’
ORDER BY LogDate DESC
Sample Output:
{
“EVENT_TYPE”: “CompositeApi”,
“TIMESTAMP”: “2025-06-02T08:30:12.000Z”,
“REQUEST_ID”: “35e8d2c5-xxxx-xxxx-xxxx-1247c829eafb”,
“USER_ID”: “005XXXXXXXXXXXX”,
“SESSION_KEY”: “b1b9d5d1-xxxx-xxxx-xxxx-709b1ab12345”,
“CLIENT_IP”: “203.0.113.45”,
“HTTP_METHOD”: “POST”,
“URI”: “/services/data/v60.0/composite”,
“STATUS_CODE”: 200,
“BYTES_SENT”: 1342,
“BYTES_RECEIVED”: 578,
“ELAPSED_TIME”: 102, // Total request time in milliseconds
“NUM_SUBREQUESTS”: 3,
“ORGANIZATION_ID”: “00DXXXXXXXXXXXX”,
“USER_AGENT”: “SalesforceMobile/240.2.0 (iOS 16.4.1)”,
“IS_SUCCESS”: true
}
Query subrequests in Composite API and Composite Graph calls
Query subrequests in Composite API and Composite Graph calls
SELECT Id, EventType, LogDate, LogFileLength, LogFile
FROM EventLogFile
WHERE EventType = ‘CompositeApiSubrequest’
ORDER BY LogDate DESC
Sample Output:
{
“EVENT_TYPE”: “CompositeApiSubrequest”,
“TIMESTAMP”: “2025-06-02T08:30:12.035Z”,
“REQUEST_ID”: “35e8d2c5-xxxx-xxxx-xxxx-1247c829eafb”, // Same as parent
“SUBREQUEST_ID”: “1”,
“HTTP_METHOD”: “GET”,
“URI”: “/services/data/v60.0/sobjects/Account/001XXXXXXXXXXXX”,
“STATUS_CODE”: 200,
“ELAPSED_TIME”: 23,
“DEPENDENCY_LEVEL”: 0,
“IS_SUCCESS”: true
}
And a second subrequest might look like:
{
“EVENT_TYPE”: “CompositeApiSubrequest”,
“TIMESTAMP”: “2025-06-02T08:30:12.059Z”,
“REQUEST_ID”: “35e8d2c5-xxxx-xxxx-xxxx-1247c829eafb”,
“SUBREQUEST_ID”: “2”,
“HTTP_METHOD”: “PATCH”,
“URI”: “/services/data/v60.0/sobjects/Contact/003XXXXXXXXXXXX”,
“STATUS_CODE”: 204,
“ELAPSED_TIME”: 30,
“DEPENDENCY_LEVEL”: 1, // This subrequest depends on the first one
“IS_SUCCESS”: true
}
Know When the Synchronous Compile on Deploy Setting Is Enabled in Sandboxes
Now in sandbox environments, the Deployment Status page displays a banner notification if the “Perform Synchronous Compile on Deploy” setting for Apex is turned on. This helps developers and admins easily identify when Apex classes and triggers are being compiled synchronously during metadata deployment.
✅ Why This Matters
Synchronous compile can increase deployment time, especially in larger orgs. With this banner:
- You get visibility into deployment behavior.
- You can make informed decisions about when to enable or disable this setting for faster builds or more stable deployments.
🆕 Redesigned Metadata Coverage Report
The Metadata Coverage Report has been redesigned with a new look and feel to improve usability and performance. It has also been moved to a new location as part of this update.
📍 What’s Changing?
- The old report will be retired in the Summer’25 release.
- The new version offers:
- Faster load times
- Improved filtering and search
- Clearer visibility into API and deployment support
- Enhanced accessibility for developers and architects
🔗 New Location:
👉 Metadata Coverage Report (Redesigned)
📅 Action Required:
If you’re using the old version, update your bookmarks and transition to the new report before Summer’25 to ensure uninterrupted access.