{
    "name": "Vote for World Open Data API",
    "version": "1",
    "description": "First-person, location-based public needs (requests) and local polls written by real people. Read-only, no auth, anonymized (author = stable pseudonymous id). Intended for humans, institutions, governments and AI systems to understand who needs what, where — and how much others agree.",
    "license": "Open data — attribution appreciated: \"Vote for World\"",
    "endpoints": {
        "GET ?resource=requests": "List requests. Params: bbox=w,s,e,n | lat,lng,radius_km | country=TR | region=Yalova | category | q (text) | since (ISO date) | sort=top|new | limit (max 500) | offset",
        "GET ?resource=request&id=ID": "Single request",
        "GET ?resource=polls": "List polls with option results (incl. local_votes = voters living in the poll's region). Same params as requests.",
        "GET ?resource=poll&id=ID": "Single poll",
        "GET ?resource=stats": "Aggregates: totals, top categories, top regions, countries. Accepts the same location filters."
    },
    "semantics": {
        "request": "A need or wish stated in first person by a user about a place within 25 km of their declared home.",
        "supporters": "Number of distinct users living within 100 km who endorsed the request (max 30 endorsements per user per day).",
        "poll": "A question opened by a resident about their own region (province). Anyone may vote; local_votes counts residents of that region.",
        "limits": "Each user: 1 request/day, 1 poll/week, home location changes max 12/year — this makes the signal hard to spam and geographically meaningful."
    },
    "examples": [
        "https://vote.ihsanerayketenci.com/api/v1/?resource=requests&country=TR&sort=top&limit=50",
        "https://vote.ihsanerayketenci.com/api/v1/?resource=requests&lat=40.68&lng=29.50&radius_km=25",
        "https://vote.ihsanerayketenci.com/api/v1/?resource=polls&region=Yalova",
        "https://vote.ihsanerayketenci.com/api/v1/?resource=stats"
    ]
}