# Errors and rate limits

> Read an application/problem+json error, know what to do for each HTTP status, and retry properly after a 429.

Every error the API returns is a `Problem` object served as `application/problem+json`. [Errors](https://developer.noryo.app/en-GB/transaction-intelligence/errors) explains how to read it, what to do for each status from `400` to `500`, which requests to retry and what to quote to support; the page also carries the catalogue generated from the contract.

[Rate limits](https://developer.noryo.app/en-GB/transaction-intelligence/rate-limits) then describes the operational burst protection: two token buckets, per key and per workspace, the `noryo-ratelimit-limit` and `noryo-ratelimit-remaining` headers, the `429` response with `Retry-After`, what consumes a token, and how to retry with the same `Idempotency-Key`.

---

Canonical page: https://developer.noryo.app/en-GB/transaction-intelligence/error-handling
