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

# Reintentos seguros

> Envía una Idempotency-Key para que un reintento después de agotar el tiempo de espera nunca haga el cambio dos veces.

Algunas llamadas no deben ejecutarse dos veces, como comprar un paquete de ejecuciones o borrar un dispositivo. Esas llamadas aceptan un encabezado `Idempotency-Key`, y sus entradas en la referencia de la API lo indican.

Elige un valor único para cada cambio que quieras hacer. Un UUID funciona bien. Envía el mismo valor cuando reintentes:

```bash theme={null}
curl -X POST https://app.stockshift.io/api/v1/integrations/connections/01J8QZ4M.../channel/stock/push \
  -H "Authorization: Bearer $STOCKSHIFT_TOKEN" \
  -H "Idempotency-Key: 0199f2d4-6b1e-7c3a-9a51-2f0e8c1d4b7a"
```

Una repetición dentro de las 24 horas recibe la primera respuesta sin que el cambio vuelva a ocurrir, así que reintentar después de agotar el tiempo de espera es seguro. Enviar una clave que ya usaste en otra llamada distinta responde `422` con `idempotency_key_reused`.

## Cómo reintentan los SDK

Los SDK reintentan un `429` después de `Retry-After` con todos los métodos, porque la API no ejecutó la llamada. Reintentan un `5xx` o una falla de red para `GET`, `PUT` y `DELETE`. Un `POST` o `PATCH` solo se reintenta cuando le das una clave de idempotencia:

```ts theme={null}
await stockshift.post("/integrations/connections/{connection}/channel/stock/push", {
  path: { connection: connectionId },
  idempotencyKey: crypto.randomUUID(),
});
```


## Related topics

- [Laravel](https://docs.stockshift.io/es/sdks/laravel.md)
- [.NET](https://docs.stockshift.io/es/sdks/dotnet.md)
- [PHP](https://docs.stockshift.io/es/sdks/php.md)


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