Developer Docs

Matching Errors & Limits

Troubleshoot matching API failures and understand quotas, 429 behavior, and plan limits for Professional and Enterprise.

Production integrations fail in predictable ways. This page explains limits, error codes, and how to recover safely without creating noisy retry storms.

Rate limits and quotas

  • Minute-level protection: 10 requests/minute
  • Professional plan: 30 calls/day
  • Enterprise plan: 500 calls/day

Status code reference

Error matrix

StatusLikely causeHow to fixRetry?
400Malformed request body or invalid endpoint usage contextValidate payload assembly and endpoint pathno
401Missing or invalid bearer tokenFix auth header and token sourceno
403Tier restriction or policy gateUse eligible account tier and org contextno
422Schema validation failedCorrect fields/ranges/types before re-sendingno
429Minute-level throttle or daily quota exceededApply backoff and queue lower priority jobsdepends
500Unexpected backend failureRetry with backoff and capture diagnosticsyes

Retry and queueing strategy

if (status === 429 || status >= 500) {
  retryWithExponentialBackoff();
} else {
  failFastAndFixPayloadOrAuth();
}

Daily quota handling

  • Prioritize urgent client-facing jobs first
  • Queue non-urgent matching requests
  • Surface clear user messaging on quota exhaustion

Avoid retry storms

Never blindly retry all failures. Treat 4xx as corrective actions and 429/5xx as controlled retry paths.

Production reliability checklist

  • Log request IDs and response status codes
  • Track 429 volume over time
  • Implement backoff with jitter for retriable failures
  • Add quota-aware queueing in automation workflows