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

> Resuelva los conflictos HTTP 409: distinga entre una solicitud que aún se está ejecutando y una Idempotency-Key reutilizada con datos de entrada diferentes.

| | |
| - | - |
| **Código** | `idempotency_key_reuse` |
| **Estado HTTP** | `409 Conflict` |
| **Se puede reintentar** | Consulte `retryable` en la respuesta |

## Elija la recuperación adecuada

El mismo código de error describe dos situaciones distintas. Compruebe `retryable` antes de
actuar; el estado HTTP por sí solo no indica si debe reintentar la solicitud.

| Respuesta | Significado | Siguiente paso |
| - | - | - |
| `retryable: false` | La clave ya identifica una solicitud con datos de entrada diferentes. | Compare el cuerpo con el de la solicitud original. Utilice una clave nueva únicamente para una operación intencionadamente distinta. |
| `retryable: true` | Otra solicitud que utiliza la clave aún se está procesando. | Conserve la misma clave y la misma solicitud. Espere al menos `Retry-After` segundos y, a continuación, reintente dentro de un límite de tiempo definido. |

### Datos de entrada diferentes

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

### Solicitud en procesamiento

Este ejemplo también incluye el encabezado de respuesta 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"
}
```

## Mantenga estable la identidad de reintento

En las operaciones que documentan la idempotencia, la clave se limita al ámbito de la organización,
la cuenta de servicio, el método HTTP, la ruta del recurso y la versión de API resuelta. Si cambia
cualquiera de estos elementos, se crea una identidad de reintento distinta; esto no permite recuperar la operación
original. Rotar una credencial de la misma cuenta de servicio no modifica
esa identidad, aunque la credencial de reemplazo debe seguir contando con los permisos necesarios.

Conserve la clave, el cuerpo, la ruta y la versión originales al recuperarse de un tiempo de espera agotado.
No genere una clave nueva solo para superar un conflicto: es posible que la escritura original
ya se haya realizado correctamente. Recupere el recurso cuando conozca su ID y utilice
el procedimiento de recuperación documentado de la operación. Una repetición completada incluye
`Idempotent-Replayed: true` cuando la operación documenta la reproducción de la respuesta.

Enviar un encabezado `Idempotency-Key` no hace que una operación sea idempotente, a menos que su
referencia admita explícitamente ese encabezado. La protección frente a reintentos está limitada por la
política de retención de la operación; no es una garantía permanente contra duplicados.

Si el procesamiento sigue sin resolverse, póngase en contacto con [Soporte de Living Security](mailto:support@livingsecurity.com)
e indique `request_id`, la marca de tiempo en UTC, el método, la ruta y la versión de API. No incluya nunca
una clave de API, un secreto de cliente ni un token de acceso.


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