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

# Errors and retry behavior

> एरर पेलोड का स्वरूप, सुरक्षित रीट्राई के लिए मार्गदर्शन, और रीट्राई को idempotency keys के साथ कैसे जोड़ा जाए।

# Errors and retry behavior

Non-success responses इस envelope का उपयोग करते हैं:

```json theme={null}
{
  "error": {
    "code": "SOME_CODE",
    "message": "Human-readable explanation",
    "issues": []
  }
}
```

## Retry guidance

* ट्रांसपोर्ट विफलताओं पर रीट्राई करें।
* उसी `Idempotency-Key` के साथ idempotent writes को रीट्राई करें।
* पहली response को पूर्ण मानने के बजाय async work के बाद durable state को दोबारा पढ़ें।

## Practical rules

* server-side failures को केवल तभी रीट्राई कैंडिडेट मानें जब मूल write में एक स्थिर idempotency key इस्तेमाल की गई हो।
* नए export download URLs को अस्थायी मानें और आवश्यकता होने पर उन्हें `GET /exports/{exportId}` से दोबारा पढ़ें।
* यदि कोई mutation पहले से प्रगति में है या वर्तमान state के साथ टकराव कर रहा है, तो लौटाए गए `code` की जाँच करें और केवल तभी रीट्राई करें जब ऑपरेशन अभी भी तार्किक रूप से सुरक्षित हो।

## Machine-readable clients

शिप किया गया Node.js SDK और CLI errors को structured objects में normalize करते हैं, जिनमें शामिल हैं:

* `code`
* `message`
* `status`
* `retryable`

इससे free-form strings को parse किए बिना automation logic को branch करना सुरक्षित हो जाता है।
