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

# Idempotencia y recuperación

> Evita duplicados y resuelve operaciones cuyo resultado no está confirmado.

Cada apertura y cierre requiere `Idempotency-Key`: de 16 a 128 caracteres, usando
letras ASCII, números, punto, guion bajo, dos puntos o guion. Un UUID cumple el formato.
La clave pertenece a tu token y a una intención; utiliza una distinta para cada
apertura y cada cierre, incluso si comparten cuenta y símbolo.

## Antes de enviar

Persiste la intención, ruta, cuerpo completo y clave. No generes una clave nueva
cada vez que se ejecuta un intento HTTP. Un reintento de la misma intención conserva
la misma ruta, la misma clave y los mismos datos, incluidos precio y comentario.

## Respuestas al reutilizar una clave

| Situación | Resultado |
| - | - |
| Falta la clave o su formato es inválido | HTTP 400 |
| Mismo contenido y respuesta ya guardada | Devuelve la respuesta guardada, sin nuevo envío |
| La clave se reutiliza con otro contenido | HTTP 409: `Idempotency-Key was already used for another request` |
| La reserva sigue pendiente | HTTP 409: `A trade with this Idempotency-Key is already pending` |

Los permisos y la vigencia de la cuenta se comprueban también al repetir la solicitud.
Una respuesta guardada es la respuesta de envío, no la confirmación final de ejecución.

## Timeout, desconexión o error después del envío

1. Detén los reintentos automáticos de POST y marca la intención como incierta.
2. Si conoces el ID MT5, consulta [su resultado](/es/trading/results).
3. Consulta las posiciones y órdenes de la cuenta para reconciliar el estado.
4. Conserva clave, cuerpo exacto, hora UTC e identificadores para soporte.
5. Si no puedes confirmar el resultado, pide revisión al proveedor antes de crear
   una intención nueva que pudiera duplicar la anterior.

Una respuesta HTTP 5xx no prueba que MT5 no haya recibido la solicitud.
Una reserva puede quedar pendiente después de un error, incluso durante validaciones
del cierre. La API partner no expone recuperación por clave, cancelación de reservas
ni desbloqueo manual. El paso del tiempo no implica que sea seguro reenviar con otra clave.

No asumas que repetir el POST actualizará el precio: cambiarlo altera la intención
y puede producir un conflicto. Antes de preparar otra operación, resuelve la anterior.

Las órdenes pendientes también requieren una clave. En mercado automático, la intención
guarda el cuerpo enviado sin cotizaciones variables; un reintento completado no vuelve
a consultar ni a enviar la orden. No cambies entre el modo explícito y el automático
con la misma clave.


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