> ## 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

> Rozwiązywanie konfliktów HTTP 409: jak odróżnić żądanie, które jest nadal przetwarzane, od klucza Idempotency-Key użytego ponownie z innymi danymi wejściowymi.

| | |
| - | - |
| **Kod** | `idempotency_key_reuse` |
| **Status HTTP** | `409 Conflict` |
| **Możliwość ponowienia** | Sprawdź `retryable` w odpowiedzi |

## Wybór właściwego sposobu postępowania

Ten sam kod błędu opisuje dwie różne sytuacje. Przed podjęciem działań sprawdź `retryable`; sam status HTTP nie wskazuje, czy należy ponowić żądanie.

| Odpowiedź | Znaczenie | Następny krok |
| - | - | - |
| `retryable: false` | Klucz identyfikuje już żądanie z innymi danymi wejściowymi. | Porównaj treść żądania z żądaniem pierwotnym. Nowego klucza używaj wyłącznie w przypadku celowo odmiennej operacji. |
| `retryable: true` | Inne żądanie z tym kluczem jest nadal przetwarzane. | Zachowaj ten sam klucz i to samo żądanie. Odczekaj co najmniej `Retry-After` s, a następnie ponów żądanie w ograniczonym czasie. |

### Inne dane wejściowe

```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"
}
```

### Żądanie nadal przetwarzane

Ten przykład zawiera również nagłówek odpowiedzi 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"
}
```

## Zachowanie stałej tożsamości ponowienia

W przypadku operacji, dla których udokumentowano idempotentność, klucz jest ograniczony do organizacji, konta usługi, metody HTTP, ścieżki zasobu i rozstrzygniętej wersji API. Zmiana któregokolwiek z tych elementów tworzy inną tożsamość ponowienia i nie umożliwia odzyskania pierwotnej operacji. Rotacja poświadczeń w ramach tego samego konta usługi nie zmienia tej tożsamości, jednak nowe poświadczenia nadal muszą mieć odpowiednie uprawnienia.

Podczas odzyskiwania po przekroczeniu limitu czasu zachowaj pierwotny klucz, treść żądania, ścieżkę i wersję. Nie generuj nowego klucza wyłącznie po to, aby ominąć konflikt: pierwotny zapis mógł już zakończyć się powodzeniem. Jeśli znany jest identyfikator zasobu, pobierz ten zasób i zastosuj udokumentowaną procedurę odzyskiwania dla danej operacji. Zakończone ponowne odtworzenie odpowiedzi zawiera `Idempotent-Replayed: true`, o ile operacja dokumentuje odtwarzanie odpowiedzi.

Wysłanie `Idempotency-Key` nie sprawia, że operacja staje się idempotentna, chyba że jej dokumentacja referencyjna jawnie obsługuje ten nagłówek. Ochrona przed ponowieniem jest ograniczona zasadami przechowywania danych dla danej operacji i nie stanowi stałej gwarancji ochrony przed duplikatami.

Jeśli przetwarzanie nadal pozostaje nierozstrzygnięte, skontaktuj się z [pomocą techniczną Living Security](mailto:support@livingsecurity.com), podając `request_id`, znacznik czasu UTC, metodę, ścieżkę i wersję API. Nigdy nie podawaj klucza API, klucza tajnego klienta ani tokenu dostępu.


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