Requests are rate-limited per API key and per IP. When you exceed a limit you get a 429 with the standard error envelope:
Test-mode keys (dgz_test_) apply lower limits than live keys.

Handling 429

  • Back off exponentially and retry. A short pause usually clears it.
  • Respect the Retry-After header when present.
  • Spread bursty workloads over time rather than firing in parallel.

Tips

Cache reads

Reads are free and cacheable. Do not re-fetch unchanged diagrams in a tight loop.

Use idempotency

So a retried create never double-charges.
Limits are generous for normal use. For a high-volume use case, contact support.