RESTful Rate Limiter

Dayforce RESTful Web Services Developer Guide

Version
R2025.2.1
RESTful Rate Limiter

Dayforce includes a rate limiter on the RESTful web services to help ensure the best experience for all customers. The rate limiter applies at the client level, and if you have multiple consuming applications, you need to determine the proper allocation of requests per application.

For example, because of the rate limiter enforcement, your application or applications can request employee details using Get Employee HR Details by XRefCode for no more than 10 employee XRefCodes every second or 100 employee XRefCodes every minute.

Note: The per second or per minute limit depends on the operation. Some heavier operations like Get Reports have a lower threshold.

These limits have been put in place to ensure a consistent experience for all customers using Dayforce RESTful web services. Requests that exceed these limits will be denied by Dayforce web services. The limits apply at the client level, and if you have multiple RESTful services consuming applications, you need to determine the proper allocation of requests per application. It is important for client development resources to understand these rate limits and design their web services consuming applications appropriately such that the consuming application:

It is important that your developers understand these rate limits to ensure that they design a web services consuming application that operate in the following ways:

  • Tracks the number of requests that it has made and contains logic to avoid exceeding the rate limits.
  • Contains logic to queue requests if Dayforce web services responds with a message noting that the limit has been reached
  • Ensures that new requests don’t overlap with a previous request of the same type. In the example of Get Employee XRefCodes, the consuming application needs to retrieve the details for all employee XRefCodes before issuing another request for employee XRefCodes. This process guarantees that data updates for one employee are processed in the correct order in the consuming application in the event that the employee appears in sequential requests for employee XRefCodes.
  • Raises and logs errors and warnings returned by Dayforce web services in a way that allows action to be taken so issues can be resolved quickly

These design guidelines help you ensure that the consuming application processes new and changed information in the order in which the information was requested and received. It is especially important for you if you use the Dayforce Import facility batch processes (however infrequently) to update employees (for example, using an HR Import file annually to update employee salary information) because updates to a large number of employees can result in the time needed to process one group of employees exceeding the regular polling interval for employee XRefCode requests. For example, if a consuming application requests employee XRefCodes every 15 minutes and an HR Import is processed modifying the current salary records for 6,000 employees, 6,000 XRefCodes will be returned. In this example, the rate limiter (100 per minute) means that it will take 60 minutes to process all of the employee changes, and that the next request for employee XRefCodes would need to occur in 60 minutes instead of in 15 minutes.