# Obtener el estado de riesgo de la cuenta del trader

`GET /accounts/{accountId}/risk-status`

La instantánea de riesgo que el motor de trading mantiene para la cuenta: saldo y equity actuales, equity al inicio del día y equity máximo, el contador de días de trading,
el estado de la regla de consistencia y la línea base de payout.

- Se lee en vivo desde el shard que aloja la cuenta, por lo que las posiciones abiertas ya están reflejadas en el equity.
- Las sesiones interactivas obtienen un presupuesto para este endpoint aparte de los otros; en cambio, una clave de API está limitada por sus propios límites de lectura.

<a id="authorization"></a>

## Autorización

bearer: http · bearer (obligatorio). Clave de API personal, con el prefijo `usk_`.

<a id="parameters"></a>

## Parámetros

- path: accountId (string · uuid; obligatorio). Identificador de la cuenta del trader. Debe pertenecer al solicitante.

Tipo: string · uuid

format: uuid

<a id="example-curl"></a>

## Ejemplo · cURL

```bash
curl --request GET 'https://api.upscale.trade/accounts/{accountId}/risk-status' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_KEY'
```

<a id="example-javascript"></a>

## Ejemplo · JavaScript

```javascript
const response = await fetch("https://api.upscale.trade/accounts/{accountId}/risk-status", {
  method: "GET",
  headers: {
    "Accept": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
  },
});
console.log(response.status, await response.text());
```

<a id="example-python"></a>

## Ejemplo · Python

```python
import requests

response = requests.request(
    "GET",
    "https://api.upscale.trade/accounts/{accountId}/risk-status",
    headers={"Accept":"application/json","Authorization":"Bearer YOUR_API_KEY"},
    timeout=30,
)
print(response.status_code, response.text)
```

<a id="response-200-accountsriskstatusresponse"></a>

## Respuesta 200 · AccountsRiskStatusResponse

**200** application/json — Respuesta

Esquema: AccountsRiskStatusResponse

Tipo: object

Campos obligatorios: accountId, tradingDays, currentBalance, currentEquity, dayStartEquity, maxEquity, periodStartEquity, maxPeriodDailyEquityDelta, maxPeriodDailyEquityDeltaAt, consistencyRuleApplies, consistencyRuleMet, consistencyRuleRatio, consistencyRuleLimit, payoutBaselineBalance, isPayoutBaselineRequirementMet

Tipos de campos obligatorios: accountId (string · uuid; obligatorio), tradingDays (number; obligatorio), currentBalance (string · int32; obligatorio), currentEquity (string · int32; obligatorio), dayStartEquity (string · int32; obligatorio), maxEquity (string · int32 · nullable; obligatorio), periodStartEquity (string · int32 · nullable; obligatorio), maxPeriodDailyEquityDelta (string · int32 · nullable; obligatorio), maxPeriodDailyEquityDeltaAt (string · date-time · nullable; obligatorio), consistencyRuleApplies (boolean; obligatorio), consistencyRuleMet (boolean[]; obligatorio), consistencyRuleRatio (string · int32 · nullable; obligatorio), consistencyRuleLimit (string · int32; obligatorio), payoutBaselineBalance (string · int32; obligatorio), isPayoutBaselineRequirementMet (boolean; obligatorio)

- accountId (string · uuid; obligatorio)

accountId ejemplo: 00000000-0000-4000-8000-000000000000

accountId.Tipo: string · uuid

accountId.Cuenta de trader a la que pertenece la instantánea.

accountId.format: uuid

accountId.pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$

- tradingDays (number; obligatorio)

tradingDays ejemplo: 0

tradingDays.Tipo: number

tradingDays.Número de días en los que la cuenta ha operado — contabilizados frente a los días mínimos de trading del desafío.

- currentBalance (string · int32; obligatorio)

currentBalance ejemplo: 1000000000

currentBalance.Tipo: string · int32

currentBalance.Saldo de la cuenta sin el pnl no realizado de las posiciones abiertas, fp9 en bruto.

currentBalance.format: int32

currentBalance.pattern: ^(?:-?[1-9][0-9]*|0)$

- currentEquity (string · int32; obligatorio)

currentEquity ejemplo: 1000000000

currentEquity.Tipo: string · int32

currentEquity.Saldo más el pnl no realizado de las posiciones abiertas, fp9 en bruto. Esto es contra lo que se miden las reglas de drawdown.

currentEquity.format: int32

currentEquity.pattern: ^(?:-?[1-9][0-9]*|0)$

- dayStartEquity (string · int32; obligatorio)

dayStartEquity ejemplo: 1000000000

dayStartEquity.Tipo: string · int32

dayStartEquity.Equity con el que abrió el día de trading actual, fp9 en bruto — la base del límite de drawdown diario.

dayStartEquity.format: int32

dayStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$

- maxEquity (string · int32 · nullable; obligatorio)

maxEquity ejemplo: 1000000000

maxEquity.Tipo: string · int32 · nullable

maxEquity.Equity más alto que la cuenta ha alcanzado jamás, fp9 en bruto — la base del drawdown móvil. Nulo antes de la primera operación.

maxEquity.format: int32

maxEquity.pattern: ^(?:-?[1-9][0-9]*|0)$

- periodStartEquity (string · int32 · nullable; obligatorio)

periodStartEquity ejemplo: 1000000000

periodStartEquity.Tipo: string · int32 · nullable

periodStartEquity.Equity con el que se abrió el período de retiro actual, fp9 en bruto. Nulo mientras no haya ningún período en curso.

periodStartEquity.format: int32

periodStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$

- maxPeriodDailyEquityDelta (string · int32 · nullable; obligatorio)

maxPeriodDailyEquityDelta ejemplo: 1000000000

maxPeriodDailyEquityDelta.Tipo: string · int32 · nullable

maxPeriodDailyEquityDelta.Mayor ganancia de equity en un solo día dentro del período actual, fp9 en bruto — el numerador de la regla de consistencia. Nulo mientras ningún día haya cerrado en beneficio.

maxPeriodDailyEquityDelta.format: int32

maxPeriodDailyEquityDelta.pattern: ^(?:-?[1-9][0-9]*|0)$

- maxPeriodDailyEquityDeltaAt (string · date-time · nullable; obligatorio)

maxPeriodDailyEquityDeltaAt ejemplo: 2026-05-01T12:30:00.000Z

maxPeriodDailyEquityDeltaAt.Tipo: string · date-time · nullable

maxPeriodDailyEquityDeltaAt.Día que produjo `maxPeriodDailyEquityDelta`. Nulo junto con él.

maxPeriodDailyEquityDeltaAt.format: date-time

- consistencyRuleApplies (boolean; obligatorio)

consistencyRuleApplies ejemplo: true

consistencyRuleApplies.Tipo: boolean

consistencyRuleApplies.Si la regla de consistencia es parte de las reglas de esta cuenta en su fase actual.

- consistencyRuleMet (boolean[]; obligatorio)

consistencyRuleMet ejemplo: [
  true
]

consistencyRuleMet.Tipo: boolean[]

consistencyRuleMet.Si la regla se cumple actualmente. Nulo mientras el período no esté en beneficio y el ratio no pueda calcularse.

consistencyRuleMet.[]Tipo: boolean

- consistencyRuleRatio (string · int32 · nullable; obligatorio)

consistencyRuleRatio ejemplo: 1000000000

consistencyRuleRatio.Tipo: string · int32 · nullable

consistencyRuleRatio.Proporción del beneficio del período obtenido en su mejor día, fp9 fracción en bruto. Nulo junto con `consistencyRuleMet`.

consistencyRuleRatio.format: int32

consistencyRuleRatio.pattern: ^(?:-?[1-9][0-9]*|0)$

- consistencyRuleLimit (string · int32; obligatorio)

consistencyRuleLimit ejemplo: 1000000000

consistencyRuleLimit.Tipo: string · int32

consistencyRuleLimit.Mayor proporción del beneficio del período que puede representar un día, fp9 fracción sin procesar (`300000000` = 30%). Una ratio superior a ella no cumple la regla.

consistencyRuleLimit.format: int32

consistencyRuleLimit.pattern: ^(?:-?[1-9][0-9]*|0)$

- payoutBaselineBalance (string · int32; obligatorio)

payoutBaselineBalance ejemplo: 1000000000

payoutBaselineBalance.Tipo: string · int32

payoutBaselineBalance.Saldo desde el que se mide el próximo pago, fp9 en bruto. Igual al tamaño inicial de la cuenta hasta que el primer pago lo modifica.

payoutBaselineBalance.format: int32

payoutBaselineBalance.pattern: ^(?:-?[1-9][0-9]*|0)$

- isPayoutBaselineRequirementMet (boolean; obligatorio)

isPayoutBaselineRequirementMet ejemplo: true

isPayoutBaselineRequirementMet.Tipo: boolean

isPayoutBaselineRequirementMet.Si el capital está por encima de `payoutBaselineBalance` — la condición para ser elegible para solicitar un pago.

Ejemplo



```json
{
  "accountId": "00000000-0000-4000-8000-000000000000",
  "tradingDays": 0,
  "currentBalance": "1000000000",
  "currentEquity": "1000000000",
  "dayStartEquity": "1000000000",
  "maxEquity": "1000000000",
  "periodStartEquity": "1000000000",
  "maxPeriodDailyEquityDelta": "1000000000",
  "maxPeriodDailyEquityDeltaAt": "2026-05-01T12:30:00.000Z",
  "consistencyRuleApplies": true,
  "consistencyRuleMet": [
    true
  ],
  "consistencyRuleRatio": "1000000000",
  "consistencyRuleLimit": "1000000000",
  "payoutBaselineBalance": "1000000000",
  "isPayoutBaselineRequirementMet": true
}
```

<a id="response-401"></a>

## Respuesta 401

**401**  — No autorizado

<a id="response-403"></a>

## Respuesta 403

**403**  — La cuenta pertenece a otro usuario (`account_access_denied`), o la solicitud se autentica con una clave de API mientras `api_trading` está deshabilitado en la cuenta (`api_trading_not_enabled`).

<a id="response-404"></a>

## Respuesta 404

**404**  — No hay ninguna cuenta con este identificador.

<a id="response-429"></a>

## Respuesta 429

**429**  — Se superó el límite de velocidad de la clave de API (`api_key_rate_limit_exceeded`). `Retry-After` indica cuándo volver; el cuerpo incluye el bucket (`read` / `write`), la ventana que se activó, su límite y `retryAt`.