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

# Registrar cuentas desde el CRM

> Solicitud de inscripción, idempotencia y momento permitido.

Tu CRM decide quién participa. Primero crea la cuenta normal y confirma que el login existe en la conexión MT5 de la competencia. Después envía la inscripción desde su backend.

Usa la **integration key de esta competencia**, no el token de admin. Consulta la [matriz de credenciales](/broker/credenciales) si tu backend también gestiona la creación de competencias.

```http theme={"theme":{"light":"github-light","dark":"github-dark"}}
POST /api/v1/integrations/competitions/{competition_uuid}/participants
Authorization: Bearer <integration-key>
Idempotency-Key: crm-registration-12345
Content-Type: application/json
```

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{"mt5_login": 12345678}
```

La respuesta `201` contiene `uuid` del participante, `login`, `profit_net`, `balance`, `equity`, `closed_deals` y `last_sync_at`. Conserva el `uuid` si tu frontend consultará el historial de esa persona. No se envía alias: el ranking muestra el login.

## Idempotencia

Genera un ID único y estable por evento de inscripción del CRM. Si hay un timeout, repite **la misma clave con el mismo login**. La API devuelve la inscripción existente. Si reutilizas la clave con otro login, responde `409`. Una clave nueva para un login ya inscrito también devuelve `409`.

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
import uuid

event_id = f"registration-{uuid.uuid4()}"  # Persist this value with the CRM event.
```

No generes otro ID para reintentar el mismo evento. El valor debe tener de 1 a 120 caracteres.

## Ventana de registro

Se aceptan inscripciones antes y durante la competencia, siempre que no haya llegado `end_at` y el estado siga `AWAIT` o `LIVE`. Una cuenta registrada tarde solo acumula operaciones elegibles desde la ventana común; la API no crea una ventana individual para ese login. Tras el cierre, responde `409`.

> [!NOTE]
>
> Los depósitos pueden repetirse y no modifican el profit del ranking. El broker conserva la política comercial y contable de esas operaciones.


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