Enterprise API
Endpoints

Endpoints

All endpoints live under https://t1.ordertune.com/api/enterprise/v1/ and require Bearer auth. Responses are JSON with Cache-Control: no-store.

The machine-readable OpenAPI 3.1 spec is available unauthenticated at https://t1.ordertune.com/api/enterprise/v1/openapi.json.


GET /strategies

List every strategy your account is allowed to see — the intersection of the tier-wide whitelist and your per-account override.

curl -H "Authorization: Bearer ot_live_..." \
  https://t1.ordertune.com/api/enterprise/v1/strategies

Response:

{
  "strategies": [
    {
      "id": "weekly_pulse",
      "displayName": "Weekly Pulse",
      "description": "Long-only momentum strategy on the NASDAQ-100, weekly rebalance."
    },
    {
      "id": "precision_striker",
      "displayName": "Precision Striker",
      "description": "..."
    }
  ]
}

GET /strategies/{id}

Detail for a single strategy. Returns 404 if the strategy id is outside your whitelist — same shape whether the strategy doesn't exist or you can't see it (no leak about whitelist contents).

curl -H "Authorization: Bearer ot_live_..." \
  https://t1.ordertune.com/api/enterprise/v1/strategies/weekly_pulse

Response:

{
  "strategy": {
    "id": "weekly_pulse",
    "displayName": "Weekly Pulse",
    "description": "...",
    "side": "long"
  }
}

GET /signals/today

Every signal generated for the current NY trading day, filtered to your whitelist.

curl -H "Authorization: Bearer ot_live_..." \
  https://t1.ordertune.com/api/enterprise/v1/signals/today

Response:

{
  "trading_day": "2026-06-14",
  "signals": [
    {
      "id": 184293,
      "tradeDate": "2026-06-14",
      "strategyId": "weekly_pulse",
      "action": "BUY",
      "symbol": "AAPL",
      "quantity": 50,
      "orderType": "MOC",
      "limitPrice": null,
      "secType": "STK",
      "exchange": "SMART",
      "currency": "USD",
      "timeInForce": "DAY"
    }
  ]
}

The trading_day field is present in the root so your client can disambiguate the NY-time day regardless of its own timezone.

Best-effort availability in v1 — signals are typically published before US market open, but we do not commit to a hard cutoff time. Plan for polling, not for "first request at 09:31 ET will have everything."


GET /signals

Paginated historical signals. Supports filtering by strategy and date range.

# Default — last 90 days, first page of 100
curl -H "Authorization: Bearer ot_live_..." \
  "https://t1.ordertune.com/api/enterprise/v1/signals?per_page=50&page=1"
 
# Filtered to one strategy, custom date range
curl -H "Authorization: Bearer ot_live_..." \
  "https://t1.ordertune.com/api/enterprise/v1/signals?strategy=weekly_pulse&from=2026-01-01&to=2026-06-01"

Query parameters:

ParameterTypeDefaultDescription
strategystringFilter to a single strategy id. Strategy outside your whitelist returns an empty array (same as not-found, no leak).
fromYYYY-MM-DD90 days agoInclusive start date.
toYYYY-MM-DDnoneInclusive end date.
pageinteger11-indexed page number.
per_pageinteger100Max 500.

Response:

{
  "page": 1,
  "per_page": 100,
  "total": 342,
  "signals": [ /* same Signal shape as /signals/today */ ]
}

GET /signals/{id}

Single signal by integer id. Returns 404 if the id doesn't exist OR the signal's strategy is outside your whitelist.

curl -H "Authorization: Bearer ot_live_..." \
  https://t1.ordertune.com/api/enterprise/v1/signals/184293

GET /openapi.json

The full OpenAPI 3.1 specification. Public, no authentication required, cached for 5 minutes.

curl https://t1.ordertune.com/api/enterprise/v1/openapi.json

Use this with any OpenAPI-aware tool — Postman, Insomnia, openapi-generator, Swagger UI — to generate clients or interactive docs.