{
  "openapi": "3.1.0",
  "info": {
    "title": "Probity Institute GSA Determinations Feed",
    "version": "1.3",
    "summary": "Free, keyless machine-readable governance-rights determinations for DAO/protocol tokens",
    "description": "Static JSON endpoints generated from the frozen GSA dataset. Each determination states which governance rights a protocol's smart contracts actually enforce (pass / near-miss / fail per GSA standard), the dataset version, and the as-of date. Licensed CC-BY-4.0. Not a security rating, not investment advice.",
    "license": {
      "name": "CC-BY-4.0"
    }
  },
  "servers": [
    {
      "url": "https://probity-institute.pages.dev",
      "description": "live site (deploys with the next site release)"
    }
  ],
  "paths": {
    "/data/determinations/index.json": {
      "get": {
        "operationId": "listDeterminations",
        "summary": "Feed manifest: all 53 determinations with per-standard verdicts",
        "responses": {
          "200": {
            "description": "Manifest with counts and per-DAO stubs",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Index"
                }
              }
            }
          }
        }
      }
    },
    "/data/determinations/{slug}.json": {
      "get": {
        "operationId": "getDetermination",
        "summary": "One DAO's full determination",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "uniswap"
          }
        ],
        "responses": {
          "200": {
            "description": "Full determination record",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Determination"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Determination": {
        "type": "object",
        "required": [
          "schema_version",
          "dao",
          "token",
          "slug",
          "as_of",
          "determinations"
        ],
        "properties": {
          "schema_version": {
            "type": "string",
            "const": "1.3"
          },
          "dao": {
            "type": "string"
          },
          "token": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "snapshot_space": {
            "type": [
              "string",
              "null"
            ]
          },
          "structure_label": {
            "type": [
              "string",
              "null"
            ],
            "description": "S1-S5 protocol business structure taxonomy label"
          },
          "as_of": {
            "type": "string",
            "description": "date the determinations were verified"
          },
          "first_scored": {
            "type": [
              "string",
              "null"
            ]
          },
          "determinations": {
            "type": "object",
            "description": "verdict per GSA standard: pass | near-miss | fail",
            "properties": {
              "GSA1": {
                "type": "string",
                "enum": [
                  "pass",
                  "near-miss",
                  "fail"
                ]
              },
              "GSA2": {
                "type": "string",
                "enum": [
                  "pass",
                  "near-miss",
                  "fail"
                ]
              },
              "GSA3": {
                "type": "string",
                "enum": [
                  "pass",
                  "near-miss",
                  "fail"
                ]
              },
              "GSA4": {
                "type": "string",
                "enum": [
                  "pass",
                  "near-miss",
                  "fail"
                ]
              },
              "GSA5": {
                "type": "string",
                "enum": [
                  "pass",
                  "near-miss",
                  "fail"
                ]
              },
              "GSA6": {
                "type": "string",
                "enum": [
                  "pass",
                  "near-miss",
                  "fail"
                ]
              },
              "GSA7": {
                "type": "string",
                "enum": [
                  "pass",
                  "near-miss",
                  "fail"
                ]
              },
              "GSA8": {
                "type": "string",
                "enum": [
                  "pass",
                  "near-miss",
                  "fail"
                ]
              }
            }
          },
          "tier": {
            "type": [
              "string",
              "null"
            ]
          },
          "tier_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "key_finding": {
            "type": [
              "string",
              "null"
            ]
          },
          "flags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "exercisability": {
            "type": [
              "object",
              "null"
            ],
            "description": "schema v1.3: descriptive exercisability (control_cost_usd, control_cost_pct_mcap, control_path, control_stack, capture_feasibility, hard_flow_ratio, exit_premium) — null where no registry entry; populated 2026-10-01"
          },
          "anti_capture_flag": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "none",
              "ve_lock",
              "transfer_gate",
              "founding_weight"
            ],
            "description": "schema v1.3: ve-locks / transfer-gates / untouchable founding weight; populated 2026-10-01"
          },
          "methodology": {
            "type": "object"
          },
          "source_dataset": {
            "type": "object",
            "properties": {
              "file": {
                "type": "string"
              },
              "sha256": {
                "type": "string"
              }
            }
          },
          "links": {
            "type": "object"
          }
        }
      },
      "Index": {
        "type": "object",
        "properties": {
          "feed": {
            "type": "string"
          },
          "schema_version": {
            "type": "string"
          },
          "generated_utc": {
            "type": "string"
          },
          "counts": {
            "type": "object"
          },
          "determinations": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        }
      }
    }
  }
}
