For Developers

Proxied Requests

To ensure maximum reliability and stability when communicating with external Learning Management Systems (LMS) and Student Information Systems (SIS), Edlink utilizes an internal Smart Proxy Service.

This service acts as an intelligent middleware layer that sits between the Edlink API and the upstream data providers. It is designed to abstract away the complexities of communicating with fragile or strictly limited external APIs.

The Smart Proxy handles several critical infrastructure challenges automatically, ensuring that your application receives fewer errors and maintains a stable connection with schools. It's not something that your application interacts with directly; rather, it operates behind the scenes to improve the overall reliability of Edlink's integrations.

Rate Limit Management

Every provider (e.g., Canvas, Blackbaud) enforces strict rate limits on their APIs. If these limits are exceeded, the provider will reject requests. The Smart Proxy tracks these limits in real-time. Instead of failing immediately, it queues outgoing requests and releases them at a rate the provider will accept, preventing 429 Too Many Requests errors.

OAuth Refresh Locking

A common issue in API integrations occurs when an access token expires while multiple parallel requests are being processed. This can lead to a "race condition" where multiple processes attempt to refresh the token simultaneously, causing the provider to invalidate the credentials entirely.

The Smart Proxy implements request locking. When it detects an expired token, it pauses all outgoing traffic for that specific integration, performs a single token refresh, updates the credentials, and then releases the queued requests using the new token.

Retry Logic and Error Handling

External APIs can experience transient network issues or temporary timeouts. The Smart Proxy includes sophisticated retry logic. If a request fails due to a temporary network blip, the proxy will automatically retry the request with exponential backoff strategies before returning an error to your application.

Availability and Support

The Smart Proxy architecture is designed to eventually support 100% of Edlink's data sources. Currently, it is enabled by default for specific providers that benefit most from this architecture, including Blackbaud, Canvas, and ManageBac.

While this feature can be toggled on a per-data-source basis by Edlink administrators, it is a core part of our infrastructure designed to run invisibly in the background, providing a more robust integration experience for your application.