This article discusses estimated usage of the Salesforce REST API while using GRAX Auto Backup. All figures provided here are estimates only and don't represent guaranteed figures for real-world usage.
GRAX Auto Backup is a low-touch system that captures regular versions of all records in your Salesforce org, assembling a history for each record as it changes. To accomplish this, the system first captures all existing records in the org; it then scans at regular intervals to back up any new changes or records.
This means that the system queries a large amount of data from Salesforce early in the lifetime of your app. Regular, recurring backups draw only changed records and consist of small numbers of records in most orgs. The change between these two "modes" of the GRAX system is transparent to the user.
Shortly after you enable Auto Backup, the GRAX app begins backing up data starting at the beginning of your org, if available. Through the Salesforce REST API, GRAX achieves the following usage function:
X = total original records in millions
Y = total original files in millions
API Calls To Backfill = (X + Y) * 3000 + 1000000 * Y
At the same time, GRAX estimates potential record throughput of 200 million per day. This all means that for an org with 1 billion records and 500 thousand files, GRAX would roughly consume 3.1 million REST API calls in just over 5 days (up to 600,000 each day).
After GRAX has processed the history of your org, only changes and new records are captured for backup. This means the overall load on the system drops, and REST API usage follows. To estimate usage, we use a very similar function to the above, with modifications to the variables:
X = daily record creates and edits in millions
Y = daily file creates and edits in millions
API Calls Per Day = (X + Y) * 3000 + 1000000 * Y
The key here is that instead of capturing your whole org, GRAX captures changes or creations, commonly called "record turnover." Due to automation or global services, it's common for customers to have a turnover around 500 thousand records. Given this figure, we would then estimate daily API usage at 1,500 calls.
Note that the function above uses daily turnovers for a rough estimation - it's possible for a record to get updated more frequently throughout the day and get backed up in multiple recurring backups. This would increase daily usage for the same number of records, possibly many-fold if rate of change is high on certain records.
The Salesforce API has limits on requests per 24-hour period. These limits are shared across all API consumers, including GRAX.
GRAX monitors your org's API usage and slows its Auto Backup work if it reaches or exceeds 80%. Once usage falls back to 70%, the system resumes normal work.
The figures and functions expressed above are estimates. There are many factors that may affect how many calls Auto Backup uses for a given set of data or in a given period of time. While the largest is of course the number of records, the content of each record can play a part as well.
For instance, an object definition that contains a large number of fields - especially long text fields - can significantly decrease the number of such records that can fit in each REST response. Those fields containing large amounts of data increase the number of utilized calls to back them up.
The are many specifics to each Salesforce dataset that can affect the usage of the REST API. If you are experiencing difficulties related to your org's Salesforce API limits or contention with other automation, please reach out to a GRAX representative or Support.
Updated 2 days ago