Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/deskiziarecords/QUIMERIA-HYPERION/llms.txt

Use this file to discover all available pages before exploring further.

Four POST endpoints load OHLCV bars into the SMK pipeline. Each call fully replaces the pipeline’s current dataset and resets the bar cursor to zero. All loaders normalize output to {time, open, high, low, close, volume} with time as a plain Unix timestamp integer.

POST /api/load/csv

Load bars from a CSV string. Supports MT4, MT5, TradingView ISO, TradingView US date format, and Dukascopy UTC format. Column detection is automatic when source_hint is "auto".

Request body

text
string
required
Full CSV content as a plain string. Include the header row. The parser auto-detects delimiters (comma, semicolon, tab).
filename
string
default:"upload.csv"
Display name logged to session.log. Does not affect parsing.
source_hint
string
default:"auto"
Parser hint. Accepted values: "mt4", "mt5", "tradingview", "dukascopy", "auto".
ValueExpected date format
mt42024.01.15,00:00
mt52024.01.15,00:00:00 with TICKVOL column
tradingview2024-01-15T00:00:00+00:00 (ISO) or 01/15/2024,00:00 (US)
dukascopy19.03.2026 12:00:00.000 UTC
autoTries all formats in order

Response

status
string
Always "ok" on success.
count
integer
Number of valid bars loaded.
source
string
Echo of the filename parameter.

Example

curl -X POST http://localhost:8000/api/load/csv \
  -H "Content-Type: application/json" \
  -d '{
    "text": "DATE,TIME,OPEN,HIGH,LOW,CLOSE,VOL\n2024.01.15,00:00,1.09100,1.09250,1.09050,1.09200,1250",
    "filename": "EURUSD_H1.csv",
    "source_hint": "mt4"
  }'

POST /api/load/bitget

Fetch candles from Bitget spot market via the Bitget v2 REST API and load them into the pipeline.

Request body

api_key
string
required
Your Bitget API key. Generate one from the Bitget API Management page.
api_secret
string
required
Your Bitget API secret.
symbol
string
default:"EURUSDT"
Trading pair symbol in Bitget spot format, for example "BTCUSDT", "ETHUSDT", "EURUSDT".
granularity
string
default:"5m"
Candle interval. Accepted values: "1m", "3m", "5m", "15m", "30m", "1H", "4H", "1D".
limit
integer
default:300
Number of bars to fetch. Maximum is 1000 per Bitget API limits.

Response

status
string
"ok" on success.
count
integer
Number of bars loaded.
source
string
"BITGET:{symbol}", for example "BITGET:EURUSDT".

Example

curl -X POST http://localhost:8000/api/load/bitget \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "bg_xxxxxxxx",
    "api_secret": "xxxxxxxx",
    "symbol": "EURUSDT",
    "granularity": "5m",
    "limit": 300
  }'
Bitget Futures data (no API key required) is available at POST /api/load/bitget-futures with symbol, granularity, and limit fields.

POST /api/load/oanda

Fetch candles from OANDA via the v20 REST API.

Request body

token
string
required
Your OANDA personal access token (PAT). Generate one from the OANDA API portal.
account_id
string
required
Your OANDA account ID, for example "001-001-1234567-001".
instrument
string
default:"EUR_USD"
OANDA instrument name using underscore notation, for example "EUR_USD", "GBP_USD", "XAU_USD".
granularity
string
default:"M5"
Candle granularity in OANDA format. Accepted values: "M1", "M5", "M15", "M30", "H1", "H4", "D".
count
integer
default:300
Number of candles to fetch. Maximum 5000 per OANDA API limits.

Response

status
string
"ok" on success.
count
integer
Number of bars loaded.
source
string
"OANDA:{instrument}", for example "OANDA:EUR_USD".

Example

curl -X POST http://localhost:8000/api/load/oanda \
  -H "Content-Type: application/json" \
  -d '{
    "token": "your-oanda-token",
    "account_id": "001-001-1234567-001",
    "instrument": "EUR_USD",
    "granularity": "M5",
    "count": 300
  }'

POST /api/load/sample

This endpoint is currently disabled. Synthetic data generation has been removed; use CSV, Bitget, or OANDA to load real market data.

Response

Returns HTTP 403 Forbidden with a message directing you to a real data source.
curl -X POST http://localhost:8000/api/load/sample
# HTTP 403: "Synthetic data generation is disabled — load real market data via CSV, Bitget, or OANDA."

Build docs developers (and LLMs) love