#!/usr/bin/env python3
"""Check actual API response structure"""
import os
import sys
from pathlib import Path
import httpx
import json
sys.path.insert(0, str(Path(__file__).parent / "src"))
from mcp_opinion.config import OpinionConfig
async def test_api_response():
"""Check actual API response"""
config = OpinionConfig.from_env()
print(f"\nFetching markets from Opinion.trade API")
print(f"="*60)
try:
async with httpx.AsyncClient(timeout=30) as client:
headers = {
"apikey": config.api_key,
"Content-Type": "application/json"
}
url = f"{config.api_host}/openapi/market"
response = await client.get(url, headers=headers)
if response.status_code == 200:
data = response.json()
print(f"\nResponse Structure:")
print(f" errno: {data.get('errno')}")
print(f" errmsg: {data.get('errmsg')}")
print(f" result type: {type(data.get('result'))}")
result = data.get('result', [])
if isinstance(result, list):
print(f"\n✓ Found {len(result)} markets")
if result:
print(f"\nFirst market:")
market = result[0]
print(json.dumps(market, indent=2)[:500])
elif isinstance(result, dict):
print(f"\nResult is a dict:")
print(f" Keys: {list(result.keys())}")
else:
print(f"✗ Status {response.status_code}: {response.text}")
except Exception as e:
print(f"✗ Error: {e}")
import traceback
traceback.print_exc()
if __name__ == "__main__":
import asyncio
asyncio.run(test_api_response())