{
  "service": "AksesSaham API",
  "version": "1.0.0",
  "base_url": "https://aksessaham.pages.dev/api/v1",
  "description": "Proxy ber-API-key untuk data pasar saham Indonesia (sumber: Stockbit). Semua endpoint data memakai GET dan wajib menyertakan API key.",
  "auth": {
    "header": "X-API-Key: ask_xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "alternatif": [
      "Authorization: Bearer ask_xxx",
      "?apikey=ask_xxx"
    ],
    "catatan": "Tanpa key → 401 missing_key. Key dicabut → 403 key_revoked."
  },
  "response": {
    "default": "Payload asli upstream (tidak dibungkus).",
    "envelope": "Tambahkan ?envelope=1 untuk bentuk { ok, data, meta }.",
    "headers": [
      "X-RateLimit-Limit",
      "X-RateLimit-Remaining",
      "X-RateLimit-Reset",
      "X-Request-Id",
      "X-Upstream-Cache"
    ],
    "cache_header": "X-Upstream-Cache: HIT | MISS | STALE"
  },
  "limits_upstream": {
    "historical.limit": "maksimal 50 baris per halaman (limit > 50 → 400)",
    "historical.range": "maksimal ~365 hari per rentang",
    "historical.pagination": "1 tahun harian ≈ 239 baris ≈ 5 halaman: &page=1..5 dengan &limit=50"
  },
  "endpoints": [
    {
      "method": "GET",
      "path": "/api/v1/ping",
      "query": [],
      "desc": "Cek hidup & sisa kuota"
    },
    {
      "method": "GET",
      "path": "/api/v1/sectors",
      "query": [],
      "desc": "Daftar sektor"
    },
    {
      "method": "GET",
      "path": "/api/v1/info/{kode}",
      "query": [],
      "desc": "Profil & info emiten"
    },
    {
      "method": "GET",
      "path": "/api/v1/orderbook/{kode}",
      "query": [],
      "desc": "Bid/offer + harga terakhir (near real-time)"
    },
    {
      "method": "GET",
      "path": "/api/v1/historical/{kode}",
      "query": [
        "days",
        "start",
        "end",
        "limit",
        "page",
        "period"
      ],
      "desc": "OHLCV harian + foreign flow"
    },
    {
      "method": "GET",
      "path": "/api/v1/keystats/{kode}",
      "query": [
        "year_limit"
      ],
      "desc": "PER/PBV/ROE dsb, hingga 10 tahun"
    },
    {
      "method": "GET",
      "path": "/api/v1/broker/{kode}",
      "query": [
        "days",
        "investor_type",
        "market_board",
        "limit"
      ],
      "desc": "Bandarmologi / broker summary"
    },
    {
      "method": "GET",
      "path": "/api/v1/raw/{path}",
      "query": [
        "sesuai upstream"
      ],
      "desc": "Passthrough mentah (butuh scope raw)"
    }
  ],
  "contoh": {
    "curl": "curl -H \"X-API-Key: ask_xxx\" \"https://aksessaham.pages.dev/api/v1/orderbook/BBCA\"",
    "satu_tahun": "for p in 1 2 3 4 5; do curl -H \"X-API-Key: ask_xxx\" \"https://aksessaham.pages.dev/api/v1/historical/BBCA?days=365&limit=50&page=$p\"; done"
  },
  "dokumentasi_lengkap": {
    "openapi": "https://aksessaham.pages.dev/openapi.json",
    "llms": "https://aksessaham.pages.dev/llms.txt",
    "web": "https://aksessaham.pages.dev/docs"
  }
}