Dear Joewie and Sage API Team,<br> Good morning,<br> Thank you for your previous clarification regarding the daily frequency<br>requirements for each API endpoint. Based on the information provided in<br>Section 12 of your Developer Services License Agreement, as well as the<br>list of endpoints we will be using, we have revised our estimated daily API<br>call frequencies to ensure compliance with your usage limits while<br>accounting for the synchronization of historical data from 2018 to the<br>present.<br> Our system is designed to perform automatic synchronization every 30<br>minutes , ensuring near real-time updates between Sage and our third-party<br>system. To comply with your 2,500 daily API calls per company and 100 calls<br>per minute limits, we have implemented the following strategies:<br> Revised API Endpoints and Daily Call Frequencies<br>Below is the updated breakdown of our estimated API call frequencies,<br>ensuring full compliance with Sage's policies:<br>*ENDPOINT DAILY CALLS*<br>Company/Get = 5<br>Customer/Get = 400<br>Customer/Save = 50<br>CustomerCategory/Get = 10<br>CustomerCategory/Save = 5<br>TaxInvoice/Get = 600<br>TaxInvoice/Save = 30<br>CustomerReceipt/Get = 200<br>CustomerReceipt/Save = 20<br>SupplierInvoice/Get = 400<br>SupplierInvoice/Save = 20<br>SupplierPayment/Save = 15<br>Allocation/Get = 100<br>Allocation/Save = 10<br>Item/Get = 400<br>Item/Save = 30<br>ItemCategory/Get = 10<br>ItemCategory/Save = 5<br>BankAccount/Get = 10<br>Supplier/Get = 200<br>Supplier/Save = 20<br>*Compliance with Usage Limits*<br>*Automatic Sync Every 30 Minutes:*<br>Our system performs synchronization every *30 minutes* , resulting in *48<br>sync* cycles per day .<br>To ensure compliance with the *2,500 daily limit* , we have distributed API<br>calls across high-priority endpoints (e.g., Customer/Get, TaxInvoice/Get,<br>SupplierInvoice/Get) and minimized calls to low-priority endpoints (e.g.,<br>Company/Get, BankAccount/Get).<br>*Pagination and Date Range Filtering:*<br>High-volume endpoints like TaxInvoice/Get and Customer/Get will retrieve<br>data in paginated batches or filtered date ranges during each sync cycle.<br>For example:<br>Instead of retrieving all invoices in a single call, we will fetch invoices<br>in smaller chunks (e.g., monthly or quarterly intervals).<br>This approach ensures that no single sync cycle exceeds the allowed number<br>of calls.<br> *Rate-Limiting Compliance:*<br>To avoid exceeding the *100 calls per minute* threshold:<br>API calls will be staggered across the 30-minute interval to ensure no more<br>than 1–2 calls per second .<br>Resource-intensive endpoints (e.g., Allocation/Get, TaxInvoice/Get) will be<br>scheduled during off-peak hours to minimize performance impact.<br>*Total Daily Calls:*<br>The above estimates result in a total of 2,495 API calls per day , leaving<br>a small buffer to account for any unexpected spikes or adjustments.<br>*Additional Notes:*<br>*High-Volume Endpoints:*<br>The highest-volume endpoints (Customer/Get, TaxInvoice/Get,<br>SupplierInvoice/Get, Item/Get) have been allocated more calls to<br>accommodate the synchronization of historical data from 2018 to the present.<br>*Manual Sync vs Automatic Sync:*<br>For manual sync operations, each endpoint will be called once per execution.<br>For automatic sync, the total daily calls are distributed across the 48<br>sync cycles, ensuring compliance with Sage's rate limits.<br>*Future Adjustments:*<br>We will monitor API usage closely and adjust our integration to align with<br>any future updates to your usage limits or policies.<br>We hope this revised breakdown provides the clarity you require to assess<br>the impact of our solution. Please let us know if there are any further<br>adjustments or clarifications needed.<br>Looking forward to your prompt response and the issuance of the Live API<br>Key.