{"openapi":"3.0.3","info":{"title":"Cryptopolitan Agent API","version":"1.0.0","description":"Structured access to crypto and blockchain news, analysis, and market data. Free tier available.","contact":{"email":"contact@cryptopolitan.com"}},"servers":[{"url":"https://agent.cryptopolitan.com","description":"Production"}],"paths":{"/":{"get":{"summary":"API overview","tags":["Public"],"responses":{"200":{"description":"API info and endpoint listing"}}}},"/health":{"get":{"summary":"Health check (legacy)","tags":["Public"],"responses":{"200":{"description":"Health status"}}}},"/api/v1/health":{"get":{"summary":"Health check","tags":["Public"],"responses":{"200":{"description":"Health status with database check"}}}},"/api/v1/docs":{"get":{"summary":"This OpenAPI spec","tags":["Public"],"responses":{"200":{"description":"OpenAPI 3.0 JSON"}}}},"/llms.txt":{"get":{"summary":"LLM & Agent access policy","tags":["Public"],"responses":{"200":{"description":"Plain text access policy"}}}},"/llms-sitemap.xml":{"get":{"summary":"LLM-optimised sitemap","tags":["Public"],"responses":{"200":{"description":"XML sitemap of latest articles"}}}},"/api/v1/register":{"get":{"summary":"Registration info","tags":["Public"],"responses":{"200":{"description":"Registration instructions and required fields"}}},"post":{"summary":"Register for a free API key","tags":["Public"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","email"],"properties":{"name":{"type":"string","description":"Your name or agent name"},"email":{"type":"string","format":"email"},"use_case":{"type":"string","enum":["developer","trading","ai_app","research","other"]},"company":{"type":"string","description":"Optional company name"}}}}}},"responses":{"200":{"description":"API key and registration details"},"400":{"description":"Validation error"},"429":{"description":"Rate limited"}}}},"/api/v1/categories":{"get":{"summary":"List available article categories","tags":["Public"],"responses":{"200":{"description":"Array of category objects"}}}},"/api/v1/articles":{"get":{"summary":"Enriched article feed","tags":["Authenticated (Free)"],"parameters":[{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","default":20,"maximum":50}},{"name":"asset","in":"query","schema":{"type":"string"},"description":"Filter by crypto asset ticker (e.g. BTC, ETH)"},{"name":"content_type","in":"query","schema":{"type":"string"},"description":"Filter by content type"},{"name":"after","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","schema":{"type":"string","format":"date-time"}}],"security":[{"ApiKeyHeader":[]}],"responses":{"200":{"description":"Paginated article list"},"401":{"description":"Missing or invalid API key"},"429":{"description":"Rate limited"}}}},"/api/v1/search":{"get":{"summary":"Search articles by keyword","tags":["Authenticated (Free)"],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"}},{"name":"per_page","in":"query","schema":{"type":"integer","default":10,"maximum":20}},{"name":"asset","in":"query","schema":{"type":"string"}}],"security":[{"ApiKeyHeader":[]}],"responses":{"200":{"description":"Search results"},"400":{"description":"Missing query parameter"},"401":{"description":"Missing or invalid API key"}}}},"/api/v1/usage":{"get":{"summary":"API key usage stats","tags":["Authenticated (Free)"],"security":[{"ApiKeyHeader":[]}],"responses":{"200":{"description":"Usage statistics for last 30 days"}}}}},"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Register at /api/v1/register to get a free key"}}}}