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

# idempotency_key_reuse

> HTTP 409 संघर्षों का समाधान करें: अब भी चल रहे अनुरोध और भिन्न इनपुट के साथ पुनः उपयोग की गई Idempotency-Key के बीच अंतर पहचानें।

| | |
| - | - |
| **Code** | `idempotency_key_reuse` |
| **HTTP status** | `409 Conflict` |
| **Retryable** | प्रतिक्रिया में `retryable` पढ़ें |

## सही पुनर्प्राप्ति चुनें

एक ही त्रुटि कोड दो भिन्न स्थितियों का वर्णन करता है। कोई कार्रवाई करने से पहले `retryable` जाँचें; केवल HTTP स्टेटस से यह पता नहीं चलता कि पुनः प्रयास करना है या नहीं।

| प्रतिक्रिया | अर्थ | अगला चरण |
| - | - | - |
| `retryable: false` | यह key पहले से भिन्न इनपुट वाले अनुरोध की पहचान करती है। | बॉडी की तुलना मूल अनुरोध से करें। नई key का उपयोग केवल तभी करें जब आप जानबूझकर भिन्न ऑपरेशन करना चाहते हों। |
| `retryable: true` | इसी key का उपयोग करने वाला एक अन्य अनुरोध अभी भी प्रोसेस हो रहा है। | वही key और वही अनुरोध रखें। कम से कम `Retry-After` सेकंड प्रतीक्षा करें, फिर एक सीमित समय-सीमा के भीतर पुनः प्रयास करें। |

### भिन्न इनपुट

```json theme={null}
{
  "type": "https://docs.livingsecurity.com/developers/v1/errors/idempotency_key_reuse",
  "title": "Conflict",
  "status": 409,
  "detail": "Idempotency-Key was already used with a different request.",
  "code": "idempotency_key_reuse",
  "request_id": "req_0199a1e0-7c00-7000-8000-000000000001",
  "doc_url": "https://docs.livingsecurity.com/developers/v1/errors/idempotency_key_reuse",
  "retryable": false,
  "param": "Idempotency-Key"
}
```

### अनुरोध अभी प्रोसेस हो रहा है

इस उदाहरण में HTTP प्रतिक्रिया हेडर `Retry-After: 1` भी शामिल है।

```json theme={null}
{
  "type": "https://docs.livingsecurity.com/developers/v1/errors/idempotency_key_reuse",
  "title": "Conflict",
  "status": 409,
  "detail": "A concurrent request is still processing this Idempotency-Key. Retry shortly.",
  "code": "idempotency_key_reuse",
  "request_id": "req_0199a1e0-7c00-7000-8000-000000000001",
  "doc_url": "https://docs.livingsecurity.com/developers/v1/errors/idempotency_key_reuse",
  "retryable": true,
  "param": "Idempotency-Key"
}
```

## पुनः प्रयास की पहचान स्थिर रखें

जिन ऑपरेशनों के लिए idempotency प्रलेखित है, उनमें key का दायरा संगठन, सर्विस अकाउंट, HTTP मेथड, रिसोर्स पाथ और निर्धारित API वर्ज़न तक सीमित होता है। इनमें से किसी को भी बदलने से एक भिन्न पुनः प्रयास पहचान बन जाती है; इससे मूल ऑपरेशन की पुनर्प्राप्ति नहीं होती। उसी सर्विस अकाउंट के अंतर्गत क्रेडेंशियल बदलने से यह पहचान नहीं बदलती, हालाँकि नए क्रेडेंशियल के पास अनुमति होना अब भी आवश्यक है।

टाइमआउट से उबरते समय मूल key, बॉडी, पाथ और वर्ज़न को यथावत रखें। केवल संघर्ष से बचने के लिए नई key जनरेट न करें: मूल राइट पहले ही सफल हो चुका हो सकता है। यदि रिसोर्स की ID ज्ञात है, तो रिसोर्स को प्राप्त करें और ऑपरेशन की प्रलेखित पुनर्प्राप्ति प्रक्रिया का उपयोग करें। जहाँ ऑपरेशन प्रतिक्रिया रीप्ले को प्रलेखित करता है, वहाँ पूरा हो चुका रीप्ले `Idempotent-Replayed: true` के साथ आता है।

`Idempotency-Key` भेजने से कोई ऑपरेशन idempotent नहीं बन जाता, जब तक कि उसके संदर्भ में उस हेडर का स्पष्ट रूप से समर्थन न किया गया हो। पुनः प्रयास सुरक्षा ऑपरेशन की रिटेंशन नीति तक सीमित है; यह डुप्लिकेट के विरुद्ध स्थायी गारंटी नहीं है।

यदि प्रोसेसिंग अनसुलझी रहती है, तो `request_id`, UTC टाइमस्टैम्प, मेथड, पाथ और API वर्ज़न के साथ [Living Security Support](mailto:support@livingsecurity.com) से संपर्क करें। API key, क्लाइंट सीक्रेट या एक्सेस टोकन कभी शामिल न करें।


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.