---
title: "Rate limited — Anis Developers"
description: "Too many requests in the current window. The limit is either one Anis staff set on your application or wallet — counting all requests, orders only, or reveals only — or Anis’s own protection. Nothing was recorded against the request. During enrolment it also means the proof has failed five times."
url: https://developers.anis.ly/errors/rate-limited/
language: en
---

> Every page of this documentation: https://developers.anis.ly/llms.txt

[Error codes](https://developers.anis.ly/errors.md) · Limits

# Rate limited

- **Code:** `rate_limited`
- **Status:** 429
- **If this was an order:** This request bought nothing
- **Send it again unchanged?** Yes — see What to do
- **.NET SDK:** `RateLimitedException`

## What it means

Too many requests in the current window. The limit is either one Anis staff set on your application or wallet — counting all requests, orders only, or reveals only — or Anis’s own protection. Nothing was recorded against the request. During enrolment it also means the proof has failed five times.

## What to do

- Wait for the time in `Retry-After` when it is present; otherwise back off exponentially.
- Then send again. An order may keep its operation id: a refusal at the door records nothing against it.
- During enrolment, after five failed proofs: ask Anis staff to restart the enrolment.

## Where you can meet it

- GET [Read your profile](https://developers.anis.ly/reference/read-profile.md) `/v1/profile`
- GET [List wallets](https://developers.anis.ly/reference/list-wallets.md) `/v1/wallets`
- GET [Read a wallet](https://developers.anis.ly/reference/read-wallet.md) `/v1/wallets/{walletId}`
- GET [List catalogue categories](https://developers.anis.ly/reference/list-categories.md) `/v1/wallets/{walletId}/catalog/categories`
- GET [List subcategories of a category](https://developers.anis.ly/reference/list-subcategories.md) `/v1/wallets/{walletId}/catalog/categories/{categoryId}/subcategories`
- GET [Read a subcategory](https://developers.anis.ly/reference/read-subcategory.md) `/v1/wallets/{walletId}/catalog/subcategories/{subcategoryId}`
- GET [List cards for sale](https://developers.anis.ly/reference/list-cards.md) `/v1/wallets/{walletId}/catalog/subcategories/{subcategoryId}/cards`
- POST [Place an order](https://developers.anis.ly/reference/create-order.md) `/v1/wallets/{walletId}/orders`
- GET [Read an order](https://developers.anis.ly/reference/read-order.md) `/v1/orders/{operationId}`
- GET [List owned cards](https://developers.anis.ly/reference/list-owned-cards.md) `/v1/wallets/{walletId}/cards`
- GET [Read an owned card](https://developers.anis.ly/reference/read-owned-card.md) `/v1/wallets/{walletId}/cards/{soldCardId}`
- POST [Reveal a card](https://developers.anis.ly/reference/reveal-card.md) `/v1/wallets/{walletId}/cards/{soldCardId}/reveal`
- POST [Reveal an invoice](https://developers.anis.ly/reference/reveal-invoice.md) `/v1/wallets/{walletId}/invoices/{invoiceId}/cards/reveal`
- POST [Check your signature](https://developers.anis.ly/reference/check-signature.md) `/v1/diagnostics/signature`
- GET [Read an invitation](https://developers.anis.ly/reference/read-invitation.md) `/v1/enrollments/{invitationId}`
- POST [Submit a public key](https://developers.anis.ly/reference/submit-key.md) `/v1/enrollments/{invitationId}/keys`
- POST [Prove you hold the key](https://developers.anis.ly/reference/submit-proof.md) `/v1/enrollments/{invitationId}/proof`
- GET [Read enrolment status](https://developers.anis.ly/reference/read-enrollment-status.md) `/v1/enrollments/{invitationId}/status`

## Example

The body of the refusal. Its `type` is the address of this page.

```
{
  "type": "https://developers.anis.ly/errors/rate-limited",
  "title": "Rate limited",
  "status": 429,
  "code": "rate_limited",
  "requestId": "01J9R2K8T4V6XQ0M3B7C5D9E1F"
}
```
