Skip to content

REST API Reference: Direct Gateway Protocols

OPERATOR NOTE: While the Aegis Model Context Protocol (MCP) stream provides dynamic autonomous tool discovery for AI agents, the Aegis REST Gateway delivers high-speed, deterministic HTTP endpoints for programmatic pipelines, quantitative trading scripts, cron jobs, and custom dashboard integrations.


I. Gateway Architecture & Authentication

All programmatic REST requests route through the centralized Aegis Gateway over TLS/HTTPS.

  • Base URL: https://api.schrodingersmarket.com
  • Default Content-Type: application/json
  • Protocol Version: HTTP/1.1 or HTTP/2
flowchart TD
    %% Aegis Matrix Styling Definitions
    classDef gateway fill:#030305,stroke:#b026ff,stroke-width:2px,color:#fff,font-weight:bold
    classDef client fill:#0a0a0e,stroke:#00f0ff,stroke-width:1px,color:#00f0ff,font-family:monospace
    classDef engine fill:#0a0a0e,stroke:#8a8dff,stroke-width:1px,color:#e2e8f0,text-align:left

    %% Core Nodes
    C[CLIENT APPLICATION<br/>Python / Node / cURL]:::client
    G((AEGIS REST GATEWAY<br/>api.schrodingersmarket.com)):::gateway

    %% Sub-Engines
    E1[Physics Engine<br/>• BS Kinetics<br/>• Target Universe]:::engine
    E2[Cartography Vault<br/>• Live GEX Nodes<br/>• Gamma Flip Boundaries]:::engine
    E3[Diagnostics<br/>• Health Pings<br/>• Telemetry Sync]:::engine

    %% Routing Paths
    C -- HTTPS<br/>Header: X-API-Key: aegis_xxx --> G
    G --> E1
    G --> E2
    G --> E3

Authentication Header

Every authenticated request requires your secret clearance token passed via the HTTP request header:

X-API-Key: aegis_YOUR_API_KEY_HERE
Clearance tokens can be retrieved directly from the Operator Terminal under your authenticated profile.

II. System & Telemetry Endpoints

1. Health & Heartbeat Check

Performs a fast ping to verify that the core analytical services and gateway routers are online.

  • Endpoint: GET /health
  • Clearance: Public (No API key required)

Example Request:

curl -X GET "https://api.schrodingersmarket.com/health"

Example Response:

{
  "status": "MATRIX ONLINE"
}

Inspects the live synchronization state of your account with the Telegram Terminal bot.

  • Endpoint: GET /api/v1/auth/telegram-status
  • Clearance: Member UUID verification
  • Query Parameters:
  • uuid (string, required): Your Ghost member unique identifier.

Example Request:

curl -X GET "https://api.schrodingersmarket.com/api/v1/auth/telegram-status?uuid=12345678-9abc-def0-1234-56789abcdef0a"

Example Response:

{
  "status": "linked",
  "telegram_id": "@Schr*****",
  "routing_1dte": "ENABLED",
  "routing_radar": "ENABLED",
  "last_ping": "2026-08-16 19:45:00"
}

III. Core Quantitative Endpoints

1. The Target Universe

Returns the curated 59-ticker Schrödinger's Market target universe, categorized by macroeconomic thesis.

  • Endpoint: GET /api/v1/universe
  • Clearance: X-API-Key required

Example Request:

curl -X GET "https://api.schrodingersmarket.com/api/v1/universe" \
  -H "X-API-Key: aegis_YOUR_API_KEY_HERE"

Example Response:

{
  "status": "success",
  "total_tracked": 59,
  "macro_themes": {
    "beta_lords": ["WDC", "ARM", "MU", "SNDK", "AMD", "QQQ", "TSLA", "TSM", "META", "MSTR", "COIN"],
    "hyperscalers": ["AAPL", "MSFT", "GOOGL", "AMZN"],
    "macro_anchors": ["SPY", "SPCX", "GLD", "GDX"],
    "energy_metals": ["OXY", "XOM", "DVN", "HAL", "RIG", "APA"],
    "capital_incinerators": ["RIVN", "LCID", "NIO", "PLUG", "WOLF", "CHPT", "RUN"],
    "toxic_tech_and_rot": ["AI", "SNOW", "MDB", "DDOG", "PLTR", "U", "PATH", "PINS", "SNAP", "ROKU", "SIRI", "INTC"],
    "fintech_decay": ["AFRM", "UPST", "CVNA", "SOFI", "HOOD", "OPEN", "Z"],
    "cult_proxies_and_traps": ["CHWY", "GME", "AMC", "MARA", "RIOT", "SMCI"],
    "sedated_leviathans": ["NVDA", "IWM"]
  }
}

2. Live GEX Cartography

Queries real-time institutional Gamma Exposure (GEX) structural nodes, Call/Put walls, and dealer flip thresholds directly from the Operator Vault.

  • Endpoint: GET /api/v1/nodes/gex/{ticker}
  • Clearance: X-API-Key required
  • Path Parameters:
  • ticker (string, required): Underlying asset symbol (e.g., SPY, QQQ, NVDA).

Example Request:

curl -X GET "https://api.schrodingersmarket.com/api/v1/nodes/gex/SPY" \
  -H "X-API-Key: aegis_YOUR_API_KEY_HERE"

Example Response:

{
  "ticker": "SPY",
  "spot_price": 580.50,
  "expiry": "2026-08-21",
  "max_pain": 578.00,
  "call_wall": 585.00,
  "put_wall": 572.00,
  "gex_flip": 577.50,
  "net_gex_mil": 0.0
}

3. Analytical Options Greeks Engine

Executes complete First-Order and Second-Order derivative kinetics based on Black-Scholes analytical modeling.

  • Endpoint: POST /api/v1/physics/greeks
  • Clearance: X-API-Key required

Request Body Schema:

Parameter Type Required Default Description
put_call string Yes - "C" for Call, "P" for Put.
spot float Yes - Spot price of the underlying asset.
strike float Yes - Strike price.
tte float Yes - Time to expiration in years (e.g., 1-DTE = 0.0039).
iv float Yes - Implied Volatility in decimal form (0.22 for 22%).
rate float No 0.04 Risk-free interest rate in decimal form.
dividend float No 0.0 Continuous dividend yield.

Example Request:

curl -X POST "[https://api.schrodingersmarket.com/api/v1/physics/greeks](https://api.schrodingersmarket.com/api/v1/physics/greeks)" \
  -H "X-API-Key: aegis_YOUR_API_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{
    "put_call": "C",
    "spot": 580.50,
    "strike": 585.00,
    "tte": 0.0191,
    "iv": 0.165,
    "rate": 0.045,
    "dividend": 0.012
  }'

Example Response:

{
  "delta": 0.2841,
  "gamma": 0.0382,
  "vega": 0.1420,
  "theta": -0.4281,
  "rho": 0.0315,
  "vanna": 0.0184,
  "charm": -0.0512,
  "volga": 0.0096
}

IV. Quick-Start Integration Examples

Python Integration

import requests

API_KEY = "aegis_YOUR_API_KEY_HERE"
BASE_URL = "https://api.schrodingersmarket.com"

headers = {
    "X-API-Key": API_KEY,
    "Content-Type": "application/json"
}

# 1. Fetch live GEX structural levels
gex_response = requests.get(f"{BASE_URL}/api/v1/nodes/gex/SPY", headers=headers)
gex_data = gex_response.json()

print(f"Spot: ${gex_data['spot_price']} \vert{} Call Wall:${gex_data['call_wall']}")

# 2. Compute kinetics for the Call Wall strike
greek_payload = {
    "put_call": "C",
    "spot": gex_data["spot_price"],
    "strike": gex_data["call_wall"],
    "tte": 0.0191,  # roughly 7 DTE
    "iv": 0.165     # 16.5% IV
}

greek_response = requests.post(f"{BASE_URL}/api/v1/physics/greeks", json=greek_payload, headers=headers)
greek_data = greek_response.json()

print(f"Call Wall Delta: {greek_data['delta']} | Call Wall Vanna: {greek_data['vanna']}")

Node.js / TypeScript Integration

const API_KEY = "aegis_YOUR_API_KEY_HERE";
const BASE_URL = "https://api.schrodingersmarket.com";

async function fetchGexNodes(ticker: string) {
  const response = await fetch(`${BASE_URL}/api/v1/nodes/gex/${ticker}`, {
    method: "GET",
    headers: {
      "X-API-Key": API_KEY,
      "Content-Type": "application/json",
    },
  });

  if (!response.ok) {
    throw new Error(`Gateway returned HTTP status ${response.status}`);
  }

  const data = await response.json();
  console.log(`[${ticker}] GEX Flip Pivot: $${data.gex_flip}`);
  return data;
}

fetchGexNodes("QQQ");

V. HTTP Status Codes & Error Handling

All responses follow standard HTTP response status conventions:

HTTP Status Code Meaning Resolution Protocol
200 OK Successful execution. Payload delivered in JSON response body.
400 Bad Request Missing or invalid query/path parameters. Verify argument names and data types against this reference.
401 Unauthorized Missing X-API-Key request header. Ensure the X-API-Key header is explicitly provided in your request.
403 Forbidden Invalid, revoked, or expired token. Verify that your key matches the active token shown in your Operator Terminal.
422 Unprocessable Entity Payload failed Pydantic schema validation. Inspect your JSON request body structure and ensure numeric bounds are valid.
429 Too Many Requests Account rate limit exceeded. Implement exponential backoff or space out automated API requests.
500 Server Error Transient computation or gateway error. Retry the request after a short interval or check the system status page.