{
  "sandbox": {
    "baseUrl": "https://sarna-sandbox-api.sarna.workers.dev",
    "authentication": {
      "type": "Bearer",
      "standardToken": "sandbox_test_xxxx12345",
      "adminToken": "sandbox_admin_xxxx67890"
    },
    "rateLimit": {
      "requestsPerMinute": 100,
      "retryAfterSeconds": 60
    }
  },
  "accounts": [
    { "AccountId": "500123", "AccountType": "Individual", "Description": "Primary test account" },
    { "AccountId": "500124", "AccountType": "Joint", "Description": "Joint account" },
    { "AccountId": "500125", "AccountType": "IRA", "Description": "Retirement account" },
    { "AccountId": "500199", "AccountType": "Institutional", "Description": "Admin test account" }
  ],
  "symbols": [
    { "Symbol": "AAPL", "CompanyName": "Apple Inc.", "LastPrice": 187.50 },
    { "Symbol": "GOOGL", "CompanyName": "Alphabet Inc.", "LastPrice": 141.80 },
    { "Symbol": "MSFT", "CompanyName": "Microsoft Corp.", "LastPrice": 378.25 },
    { "Symbol": "TSLA", "CompanyName": "Tesla Inc.", "LastPrice": 248.90 },
    { "Symbol": "AMZN", "CompanyName": "Amazon.com Inc.", "LastPrice": 178.35 }
  ],
  "preloadedOrders": [
    { "OrderId": "ORD-001", "Symbol": "AAPL", "Side": "Buy", "Quantity": 100, "Status": "Filled" },
    { "OrderId": "ORD-002", "Symbol": "GOOGL", "Side": "Buy", "Quantity": 50, "Status": "Filled" },
    { "OrderId": "ORD-003", "Symbol": "MSFT", "Side": "Sell", "Quantity": 25, "Status": "Pending" }
  ],
  "goldenWorkflow": {
    "description": "Quote → Order → Fill → Positions",
    "steps": [
      { "step": 1, "method": "GET", "path": "/v1/quotes/AAPL", "description": "Get current quote" },
      { "step": 2, "method": "POST", "path": "/v1/orders", "description": "Place order", "body": { "Symbol": "AAPL", "Side": "Buy", "Quantity": 100, "AccountId": "500123" } },
      { "step": 3, "method": "GET", "path": "/v1/orders/{orderId}", "description": "Check status (returns Filled)" },
      { "step": 4, "method": "GET", "path": "/v1/accounts/500123/positions", "description": "Verify positions" }
    ]
  },
  "conventions": {
    "fieldNaming": "PascalCase",
    "timestamps": "UTC ISO 8601",
    "signConventions": {
      "debit": "Negative (buy orders, withdrawals, fees)",
      "credit": "Positive (sell orders, deposits, dividends)",
      "prices": "Always positive",
      "quantities": "Positive = long/buy, Negative = short/sell"
    }
  }
}
