{
  "openapi": "3.1.0",
  "info": {
    "title": "ResetTracker public API",
    "version": "0.1.0",
    "description": "Public reset history and status for ChatGPT/Codex, Claude Code, and Grok on X. Imported Codex history is CC BY 4.0; imported Claude Code history is MIT-licensed; Grok history links directly to original public X posts."
  },
  "servers": [{ "url": "https://www.resettracker.dev" }],
  "paths": {
    "/api/v1/dashboard": {
      "get": {
        "summary": "Get the public dashboard dataset",
        "responses": { "200": { "description": "Current platform status, recent resets, highlighted posts, polls, and sources" } }
      }
    },
    "/api/v1/resets": {
      "get": {
        "summary": "List public reset events",
        "parameters": [
          { "name": "platform", "in": "query", "schema": { "type": "string", "enum": ["openai", "claude", "grok"] } },
          { "name": "limit", "in": "query", "schema": { "type": "integer", "minimum": 1, "maximum": 250, "default": 100 } },
          { "name": "offset", "in": "query", "schema": { "type": "integer", "minimum": 0, "default": 0 } }
        ],
        "responses": {
          "200": { "description": "Confirmed and announced events with source provenance" },
          "400": { "description": "A platform, limit, or offset parameter is outside the published schema" }
        }
      }
    },
    "/api/v1/resets.csv": {
      "get": {
        "summary": "Download public reset events as RFC 4180 CSV",
        "parameters": [{ "name": "platform", "in": "query", "schema": { "type": "string", "enum": ["openai", "claude", "grok"] } }],
        "responses": {
          "200": { "description": "UTF-8 CSV ordered newest first" },
          "400": { "description": "The platform parameter is outside the published schema" }
        }
      }
    },
    "/api/v1/resets.ics": {
      "get": {
        "summary": "Download public reset events as an iCalendar feed",
        "parameters": [{ "name": "platform", "in": "query", "schema": { "type": "string", "enum": ["openai", "claude", "grok"] } }],
        "responses": {
          "200": { "description": "iCalendar event history ordered newest first" },
          "400": { "description": "The platform parameter is outside the published schema" }
        }
      }
    }
  }
}
