# Rate limits (/developer/rate-limits)

ลิมิตการเรียก EasyDonate API, header X-RateLimit และรูปแบบ error



## ลิมิต [#ลิมิต]

จำกัดที่ 60 request ต่อนาทีต่อ credential (ต่อ API key หรือต่อคู่แอป+ผู้ใช้
สำหรับ OAuth)

ทุก response แนบ header บอกสถานะลิมิตปัจจุบัน:

| Header                  | ความหมาย                            |
| ----------------------- | ----------------------------------- |
| `X-RateLimit-Limit`     | จำนวน request สูงสุดต่อหน้าต่างเวลา |
| `X-RateLimit-Remaining` | จำนวน request ที่เหลือ              |
| `X-RateLimit-Reset`     | เวลาที่ลิมิตจะรีเซ็ต                |

หากเกินลิมิตจะได้ `429` กลับ - รอจนถึงเวลาใน `X-RateLimit-Reset`
แล้วค่อยยิงใหม่

## Response envelope [#response-envelope]

ทุก response (รวม error) ใช้ envelope มาตรฐานเดียวกัน:

```json
{ "statusCode": 200, "data": {} }
```

## Error ที่พบบ่อย [#error-ที่พบบ่อย]

| Status | สาเหตุ                                         |
| ------ | ---------------------------------------------- |
| `400`  | request body หรือ parameter ไม่ผ่าน validation |
| `401`  | ไม่มี token, token ผิดรูปแบบ หรือหมดอายุ       |
| `403`  | token ไม่มี scope ที่ endpoint ต้องการ         |
| `429`  | เกิน rate limit                                |
