> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wappfy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Rate Limits

> API rate limiting नीतियां और rate limit errors को कैसे handle करें।

# Rate Limits

Wappfy API उचित उपयोग और platform स्थिरता सुनिश्चित करने के लिए rate limits लागू करता है।

## Default limits

| Scope                      | Limit        | Window |
| -------------------------- | ------------ | ------ |
| प्रति user                 | 100 requests | 1 मिनट |
| प्रति IP (unauthenticated) | 20 requests  | 1 मिनट |

## Rate limit headers

प्रत्येक response में rate limit जानकारी शामिल होती है:

```http theme={null}
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1707580800
```

| Header                  | विवरण                                  |
| ----------------------- | -------------------------------------- |
| `X-RateLimit-Limit`     | Window में अनुमत अधिकतम requests       |
| `X-RateLimit-Remaining` | वर्तमान window में शेष requests        |
| `X-RateLimit-Reset`     | Unix timestamp जब window reset होता है |

## Rate limits को handle करना

जब आप limit पार करते हैं, तो आपको `429` response प्राप्त होगा:

```json theme={null}
{
  "success": false,
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Too many requests, please try again later"
  }
}
```

### सर्वोत्तम प्रथाएं

<AccordionGroup>
  <Accordion title="Exponential backoff लागू करें">
    जब आपको 429 प्राप्त हो, तो बढ़ते delays के साथ wait और retry करें: 1s, 2s, 4s, 8s...
  </Accordion>

  <Accordion title="Reset header का उपयोग करें">
    `X-RateLimit-Reset` check करें ताकि आपको पता चले कि आप कब फिर से शुरू कर सकते हैं।
  </Accordion>

  <Accordion title="जहां संभव हो operations को batch करें">
    Messages को burst में भेजने के बजाय उनके बीच उचित delay रखें।
  </Accordion>

  <Accordion title="Responses को cache करें">
    ऐसे data को बार-बार fetch करने से बचें जो बदला नहीं है (जैसे, instance details, contact info)।
  </Accordion>
</AccordionGroup>
