API Call Volume History and Health
Evaluate and optimize your API calls over time by requesting your API call volume history as an offline PDF or CSV report. Improve your API usage health by reviewing the success rate by API type. The report lists the API call volume made to Marketing Cloud Engagement in the past 12 months by API type.
APIs are used to query, add, update, and delete data in your account or business unit, obtain metadata about your data, run utilities to perform administration tasks, trigger events, pull and push data to your data center and so on.
The report includes several metrics.
- Inbound API calls made from customer applications to Marketing Cloud Engagement, and outbound API calls made from Marketing Cloud Engagement to customer or partner applications are included in the count. Journey Builder Customer Activity’s API calls are the only Outbound calls included.
- Synchronous and Asynchronous, SOAP and REST API calls are included.
- A batched API call is counted as a single API call, even though a batched API call is equivalent in utilization to the size of the batch. Batching objects in API calls within suggested batching limits is a good practice for better performance and staying within API rate limits.
- API calls that initiate messaging sends across Email, SMS and Mobile Push are excluded. Over the Top (OTT) messaging channel APIs are excluded.
The report is available upon request to your Salesforce account team.
These fields are included for each API type in the report. The report is sorted in the descending order of the 12-month volume.
Field | Description |
---|---|
Protocol | The protocol supported by the API. APIs use either the SOAP or REST protocol. Outbound API calls are identified as 'Outbound', though they can use either the SOAP or REST protocol. |
API | The API type. The type denotes the feature or service invoked by the API. |
Last Month Volume | The API call volume during the last completed month. |
Last Month Success Rate | The API success rate during the last completed month. Success rate is defined by the calculation: SuccessCount / (SuccessCount + FailureCount), based on the API status in the API response. |
Peak Month Volume | The API call volume during the month with the highest total call volume across all API types. |
12 Month Volume | The API call volume during the last twelve completed months. |
API status is classified as success or failure as defined below.
Protocol | Status Used in Success Rate | Status in API Response | Description |
---|---|---|---|
SOAP | |||
Success | OK | All objects were successfully processed | |
Success | HasErrors | Some objects failed but at least one object was successfully processed | |
Failure | Error | All objects failed to be processed | |
Success | MoreDataAvailable | Only returned on a Retrieve request. Indicates that additional pages of data can be retrieved. | |
REST | |||
Success | 100-399 | HTTP Status Code 100-199 (Informational), 200-299 (Success), 300-399 (Redirection) | |
Failure | 400-599 | HTTP Status Code 400-499 (Client Error), 500-599 (Server Error) | |
Outbound | N/A | N/A | We do not log success or failure, so all API calls are considered a success |
The API field for SOAP directly maps to the SOAP object types. For REST, it directly maps to the API service listed in the URL.
For example, the URL, [Tenant Specific Endpoint].auth.marketingcloudapis.com/hub/v1/rest maps to [Tenant Specific Endpoint]/[API]/[version]/[path], where the API field is hub.
Here are some ways to improve the health of your API usage.
- Identify API types with a low success rate. Investigate and resolve errors that occur in these APIs based on the status returned in the API response.
- Identify APIs with a high call volume and consider batching objects in each API call to reduce the API call volume by a factor equal to the batch size. Batching can be used to send a triggered send to multiple recipients or update multiple rows in a data extension.
- Consider replacing data extension API calls with data imports for large data extension updates. Similarly, consider modifying large promotional triggered sends through API calls to list based sending.