What This Extension Adds #
Core DDLS has no rate limiting. DMSI Advanced API applies per-key, per-tier rate limiting to all REST API requests. When limits are exceeded, the API returns a 429 response with headers indicating when the limit resets.
429 Rate Limit Exceeded #
When a request exceeds the rate limit, the response is:
HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1743382800
Retry-After: 347
Steps to resolve:
- Read the
X-RateLimit-Resetheader — this is a Unix timestamp indicating when the window resets. - Read the
Retry-Afterheader — this is the number of seconds to wait before retrying. - Implement exponential backoff in your client to avoid hitting the limit again immediately.
Adjusting Rate Limits #
If the default limits are too restrictive for your use case:
- Per-key override: An administrator can set a custom rate limit tier on a specific API key in the DDLS Developer admin shell under API Keys.
- Custom tier: Administrators can create a custom tier in the Rate Limiting configuration page with higher limits suited to the use case.
- Sandbox mode: The sandbox key has no rate limits applied. Use the sandbox environment for load testing or high-volume development work.
Rate Limit Headers on Every Response #
Even when limits are not exceeded, all responses include rate limit headers so clients can track consumption:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 847
X-RateLimit-Reset: 1743382800
