---
title: "Var Es Endpoint"
method: POST
path: "/v1/var-es"
---

# Var Es Endpoint

`POST /v1/var-es`

## Request

- Base URL: `https://api.alphaassay.com`
- URL: `https://api.alphaassay.com/v1/var-es`
- Auth: HTTP bearer

## Headers

- `Idempotency-Key` string, nullable

## Request body

- VarEsRequest: Realised returns plus VaR (and optional ES) forecasts, one value per period. The engine's own guards (length match, positivity, ES > VaR, power floor, size cap) answer as blocked reports, not 422s.
  - `returns` number[], required
  - `var_forecasts` number[], required
  - `es_forecasts` number[], nullable
  - `alpha` number
  - `benchmark_var_forecasts` number[], nullable
  - `benchmark_es_forecasts` number[], nullable

## Response `200`

Successful Response

- VarEsOutput
  - `_meta` PublicMeta, required
    - `engine_version` string, required
    - `api_version` string, required
    - `as_of` string, date-time, required
    - `input_digest` string, required
    - `request_digest` string, required
    - `tenant_scope` string, required
    - `tenant_scope_version` string, required
    - `request_id` string, nullable, required
    - `source_identity_digest` string, required
    - `operation` string, required
    - `statefulness` 'pure' | 'public_read' | 'tenant_read' | 'tenant_write', required
    - `not_financial_advice` true, required
    - `disclaimer` string, required
  - `schema` 'var_es.v1', required
  - `method` 'var_es_exceedance_backtest', required
  - `status` 'blocked' | 'computed', required
  - `verdict` 'pass' | 'fail' | 'insufficient_evidence', required
  - `n` integer, nullable, required
  - `alpha` union, required
    - integer
    - number
  - `died_at` string, nullable, required
  - `died_at_plain` string, nullable, required
  - `failure_codes` string[], required
  - `advisories` string[], required
  - `reason` string, nullable
  - `breaches` BreachCounts
    - `observed` integer, required
    - `expected` union, required
      - integer
      - number
    - `rate_observed` union, required
      - integer
      - number
  - `kupiec` KupiecResult
    - `lr` union, required
      - integer
      - number
    - `p` union, required
      - integer
      - number
  - `independence` IndependenceResult
    - `n00` integer, required
    - `n01` integer, required
    - `n10` integer, required
    - `n11` integer, required
    - `lr` union, required
      - integer
      - number
    - `p` union, required
      - integer
      - number
    - `max_run` integer, required
    - `advisory_p_threshold` union, required
      - integer
      - number
  - `es` EsBacktestResult
    - `supplied` boolean, required
    - `lambda_grid` union[], required
      - union
        - integer
        - number
    - `e_value` union, required
      - integer
      - number
    - `log10_e_value` union, required
      - integer
      - number
    - `e_kill_threshold` union, required
      - integer
      - number
    - `e_advisory_threshold` union, required
      - integer
      - number
  - `basel` TrafficLightZone
    - `zone` 'green' | 'yellow' | 'red', required
    - `cumulative_prob` union, required
      - integer
      - number
    - `zone_thresholds` ZoneThresholds, required
      - `yellow_at_cumulative_prob` union, required
        - integer
        - number
      - `red_at_cumulative_prob` union, required
        - integer
        - number
  - `epa` EqualPredictiveAbility
    - `supplied` boolean, required
    - `loss` 'fz0' | 'quantile_tick', nullable, required
    - `mean_loss_candidate` union, required
      - integer
      - number
    - `mean_loss_benchmark` union, required
      - integer
      - number
    - `dm_stat` union, required
      - integer
      - number
    - `p_dominated` union, required
      - integer
      - number
    - `hac_lags` integer, nullable, required
    - `kill_p_threshold` union, required
      - integer
      - number
    - `advisory_p_threshold` union, required
      - integer
      - number
  - `interpretation` string, nullable

## Other responses

- `401`: Request could not be completed
- `402`: Request could not be completed
- `403`: Request could not be completed
- `409`: Request could not be completed
- `413`: Request could not be completed
- `422`: Request could not be completed
- `429`: Request rate limit exceeded
- `500`: Internal execution failure
- `503`: Request could not be completed

---

[API](https://skmtc.dev/alphaassay/apis/alphaassay-api.md) · [All operations](https://skmtc.dev/alphaassay/apis/alphaassay-api/llms.txt) · [OpenAPI document](https://skmtc.dev/alphaassay/apis/alphaassay-api/revisions/cdbc99b01a7e?raw)
