Перейти до основного вмісту

Developer API · Alvo platform

API for DAM, BESS, and controlled decisions.

Connect Alvo to internal portals, BI, partner products, or trader workflows. V1 prepares verifiable calculations, explanations, risk reports, and audit trails, but it does not submit market orders without the responsible trader.

OpenAPI 3.1API key readyhuman approval

Integration layers

One contract for data, decisions, risk, and audit.

Market data

OREE covers prices, indexes, and trading results, while UEEX adds the BCM BASE benchmark.

Decision engine

Strategy, BESS, and backtest endpoints share the same PricePoint model.

Control plane

Risk reports, audit events, API key mode, and rate limits for a controlled launch.

Security model

Demo can be public. Production access is protected by API keys.

ALVO_REQUIRE_API_KEY=true moves endpoints into key-protected mode. The key is accepted through x-alvo-api-key or Authorization: Bearer. Every response includes no-store, X-Alvo-API-Version, and security mode headers.

Secrets server-sideALVO_API_KEY never reaches the browser or client bundle.
Rate limitsALVO_RATE_LIMIT_PER_MINUTE and ALVO_RATE_LIMIT_WINDOW_MS protect endpoints from noisy traffic.
No automatic order submissionV1 does not submit market orders and requires trader approval.

Workflow

A typical integration follows five controlled steps.

01Load market data

GET /api/oree/prices, /api/oree/indexes, /api/oree/trading-results, and /api/ueex/electricity-indexes or your own CSV/import layer.

02Build plan

POST /api/strategy/plan and POST /api/bess/plan.

03Check risk

POST /api/risk/report before export or approval.

04Write audit

POST /api/audit/events for key actions.

05Connect signals

POST /api/notifications/subscriptions for PWA channels without automatic order submission.

Endpoints

A stable V1 surface for product and partner integrations.

GET/api/health
OperationsHealth check

Operational readiness for API, security mode, rate limits, engines, and market data dependencies.

GET/api/oree/prices
Market dataOREE prices

Monthly DAM or IDM price book from public Market Operator data.

GET/api/oree/indexes
Market dataDAM indexes

Base, Peak, OffPeak, min, max, and weighted-average DAM prices by date.

GET/api/oree/trading-results
Market dataOREE trading results

Daily DAM/IDM results with hourly price, matched buy/sell volumes, and declared volumes.

GET/api/ueex/electricity-indexes
Market dataUEEX indexes

Public Ukrainian Energy Exchange BCM BASE indexes for benchmark context.

GET/api/forecast
Market dataPrice forecast

Monthly probabilistic forecast: hourly p10/p50/p90 bands, the served model, and its skill (rMAE vs the seasonal-naive benchmark).

POST/api/strategy/plan
StrategyDAM plan

Recommended buy/sell hours, expected result, spreads, volume, and fees.

POST/api/bess/plan
BESSBESS plan

Charge/discharge cycles, profit with efficiency, degradation, and equivalent cycles.

POST/api/backtest/summary
BacktestBacktest summary

Multi-day strategy + BESS performance, hit rate, best/worst days, and daily rows.

POST/api/risk/report
RiskRisk report

Data coverage, anomalies, exposure, BESS cycles, and guardrails before trader approval.

POST/api/ai/trading-brief
AITrading brief

Localized deterministic brief for the trader in Ukrainian or English.

GET/api/billing/plans
BillingSubscription catalog

Public contract for plans, AI/API limits, add-ons, and overage policy before future checkout.

POST/api/audit/events
AuditAudit event

Typed prices_loaded, csv_imported, ai_brief_generated, and plan_exported events for the action log.

GET/api/audit/events
AuditTenant event log

Tenant-scoped list of recent events (audit.read role only when RBAC is enforced). Supports limit and before cursor for pagination.

GET/api/coupling/flows
ENTSO-ECross-border flows

Hourly MW flows for a UA border (default UA↔PL): leg.fromTo, leg.toFrom, netFlowMw. Live from ENTSO-E A11; fixture when token absent.

GET/api/multi-zone/prices
ENTSO-ERegional DAM prices

Hourly day-ahead prices for UA neighbours (PL, SK, HU, RO) and DE-LU as the EU benchmark, in each zone's native currency. Live from ENTSO-E A44; fixture when token absent.

GET/api/system-operations
ENTSO-EUA power system

Hourly UA load + generation mix (nuclear / coal / gas / hydro / wind / solar). Live from ENTSO-E A65 + A75; fixture when UA TSO doesn't publish (today).

POST/api/account/api-keys
SecurityCreate API key

Mint a tenant-scoped API key for programmatic access. Plaintext is returned exactly once — save it. Requires api.manage role (owner).

GET/api/account/api-keys
SecurityList API keys

Active API keys for the tenant (without plaintext): name, prefix, lastUsedAt, createdAt.

DELETE/api/account/api-keys/{id}
SecurityRevoke API key

Soft-revoke a key (writes revokedAt + actorId). Revoked keys cannot be restored — issue a new one.

POST/api/notifications/subscriptions
NotificationsPWA subscription

Web Push contract for price updates, risk alerts, BESS windows, and export readiness without trading action.

Risk report request
curl -X POST "$ALVO_URL/api/risk/report" \
  -H "content-type: application/json" \
  -H "x-alvo-api-key: $ALVO_API_KEY" \
  -d '{
    "tradeDate": "13.05.2026",
    "prices": [
      { "hour": 0, "priceUahMwh": 5575 },
      { "hour": 1, "priceUahMwh": 5100 },
      { "hour": 2, "priceUahMwh": 100 },
      { "hour": 3, "priceUahMwh": 70 },
      { "hour": 4, "priceUahMwh": 100 },
      { "hour": 5, "priceUahMwh": 4800 },
      { "hour": 6, "priceUahMwh": 5880 },
      { "hour": 7, "priceUahMwh": 5267 },
      { "hour": 8, "priceUahMwh": 3878 },
      { "hour": 9, "priceUahMwh": 3050 },
      { "hour": 10, "priceUahMwh": 49 },
      { "hour": 11, "priceUahMwh": 10 },
      { "hour": 12, "priceUahMwh": 11 },
      { "hour": 13, "priceUahMwh": 11 },
      { "hour": 14, "priceUahMwh": 10 },
      { "hour": 15, "priceUahMwh": 12 },
      { "hour": 16, "priceUahMwh": 110 },
      { "hour": 17, "priceUahMwh": 1900 },
      { "hour": 18, "priceUahMwh": 6200 },
      { "hour": 19, "priceUahMwh": 7400 },
      { "hour": 20, "priceUahMwh": 6900 },
      { "hour": 21, "priceUahMwh": 6100 },
      { "hour": 22, "priceUahMwh": 5400 },
      { "hour": 23, "priceUahMwh": 4800 }
    ],
    "strategySettings": {
      "volumeMwh": 5,
      "minSpreadUah": 250,
      "maxTradesPerDay": 4,
      "feeUahPerMwh": 12
    },
    "bessSettings": {
      "capacityMwh": 10,
      "powerMw": 5,
      "roundTripEfficiency": 0.9,
      "maxCyclesPerDay": 2,
      "degradationCostUahMwh": 80
    }
  }'
Guardrail response
{
  "tradeDate": "13.05.2026",
  "report": {
    "overallStatus": "needsReview",
    "score": 76,
    "reviewCount": 3,
    "blockCount": 0
  }
}

Ready to connect the API to a product?

Use the workspace to verify logic manually, then use OpenAPI JSON for SDKs, Postman, contract tests, or partner integrations.