{
  "info": {
    "name": "Voidly Censorship API",
    "description": "Real-time global censorship detection and prediction API. Aggregating 2.2B+ source measurements across 126 countries.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "_exporter_id": "voidly",
    "version": "1.2.0"
  },
  "auth": {
    "type": "apikey",
    "apikey": [
      { "key": "key", "value": "X-API-Key", "type": "string" },
      { "key": "value", "value": "hydra_demo_key", "type": "string" },
      { "key": "in", "value": "header", "type": "string" }
    ]
  },
  "variable": [
    { "key": "baseUrl", "value": "https://api.voidly.ai" },
    { "key": "apiKey", "value": "hydra_demo_key" }
  ],
  "item": [
    {
      "name": "Public Data",
      "description": "Open endpoints - no authentication required",
      "item": [
        {
          "name": "Get Censorship Index",
          "request": {
            "method": "GET",
            "url": "{{baseUrl}}/data/censorship-index.json",
            "description": "Full censorship index dataset with Schema.org markup"
          }
        },
        {
          "name": "Get Censorship Index (CSV)",
          "request": {
            "method": "GET",
            "url": "{{baseUrl}}/data/censorship-index.csv",
            "description": "CSV format for Excel, Sheets, pandas"
          }
        },
        {
          "name": "Get Country Data",
          "request": {
            "method": "GET",
            "url": "{{baseUrl}}/data/country/CN",
            "description": "Single country censorship data"
          }
        },
        {
          "name": "Get Methodology",
          "request": {
            "method": "GET",
            "url": "{{baseUrl}}/data/methodology",
            "description": "Machine-readable methodology document"
          }
        },
        {
          "name": "Get Dataset Meta",
          "request": {
            "method": "GET",
            "url": "{{baseUrl}}/data/meta",
            "description": "Dataset versioning, stats, and endpoint discovery for AI systems"
          }
        },
        {
          "name": "List Incidents",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/data/incidents?limit=50&country=",
              "query": [
                { "key": "limit", "value": "50" },
                { "key": "country", "value": "", "disabled": true }
              ]
            },
            "description": "List ML-classified censorship incidents"
          }
        },
        {
          "name": "Get Incident by ID",
          "request": {
            "method": "GET",
            "url": "{{baseUrl}}/data/incidents/c1498c41db2c",
            "description": "Single incident with full details"
          }
        },
        {
          "name": "Get Incident Report",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/data/incidents/c1498c41db2c/report?format=markdown",
              "query": [
                { "key": "format", "value": "markdown" }
              ]
            },
            "description": "Citable incident report (JSON or Markdown)"
          }
        },
        {
          "name": "Delta Feed (Since)",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/data/incidents/delta?since=2026-01-01T00:00:00Z&limit=100",
              "query": [
                { "key": "since", "value": "2026-01-01T00:00:00Z" },
                { "key": "limit", "value": "100" }
              ]
            },
            "description": "Get incidents changed since a timestamp (for sync)"
          }
        }
      ]
    },
    {
      "name": "Detection API",
      "description": "ML-powered censorship detection - requires API key",
      "item": [
        {
          "name": "Detect Censorship",
          "request": {
            "method": "POST",
            "url": "{{baseUrl}}/hydra/v1/detect",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "X-API-Key", "value": "{{apiKey}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"country\": \"CN\",\n  \"target\": \"google.com\"\n}"
            },
            "description": "Check if a domain is actively blocked in a country"
          }
        },
        {
          "name": "Predict Censorship Risk",
          "request": {
            "method": "POST",
            "url": "{{baseUrl}}/hydra/v1/predict",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "X-API-Key", "value": "{{apiKey}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"country\": \"RU\",\n  \"target\": \"twitter.com\",\n  \"horizon\": 30\n}"
            },
            "description": "Predict future censorship risk for a country/domain"
          }
        },
        {
          "name": "Get Threat Level",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/hydra/v1/threat-level/IR?includeHistory=true",
              "query": [
                { "key": "includeHistory", "value": "true" }
              ]
            },
            "header": [
              { "key": "X-API-Key", "value": "{{apiKey}}" }
            ],
            "description": "Get country threat level with recommendations"
          }
        },
        {
          "name": "Get All Scores",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/hydra/v1/scores?minConfidence=0.5&limit=50",
              "query": [
                { "key": "minConfidence", "value": "0.5" },
                { "key": "limit", "value": "50" }
              ]
            },
            "header": [
              { "key": "X-API-Key", "value": "{{apiKey}}" }
            ],
            "description": "Get censorship scores for all countries"
          }
        },
        {
          "name": "Get Model Info",
          "request": {
            "method": "GET",
            "url": "{{baseUrl}}/hydra/v1/model/info",
            "header": [
              { "key": "X-API-Key", "value": "{{apiKey}}" }
            ],
            "description": "Get ML model metadata and version"
          }
        }
      ]
    },
    {
      "name": "Health",
      "item": [
        {
          "name": "API Health Check",
          "request": {
            "method": "GET",
            "url": "{{baseUrl}}/health",
            "description": "Check API and backend service health"
          }
        },
        {
          "name": "Hydra Health Check",
          "request": {
            "method": "GET",
            "url": "{{baseUrl}}/hydra/v1/health",
            "description": "Check ML service health"
          }
        }
      ]
    }
  ]
}
