{
  "openapi": "3.1.0",
  "info": {
    "title": "Blomega Data Refinery",
    "version": "2026-09-18",
    "description": "Normalized, sourced registry of the AI data supply chain. Every record carries provenance, a confidence grade and a completeness score. Unknown values are null, never inferred.",
    "contact": {
      "name": "Blomega",
      "url": "https://blomegalab.com"
    }
  },
  "servers": [
    {
      "url": "https://data.blomega.com"
    }
  ],
  "paths": {
    "/v1/records": {
      "get": {
        "operationId": "listRecords",
        "summary": "List records across every type, with filters.",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "benchmark",
                "broker",
                "company",
                "crawl_block",
                "crawler",
                "dataset",
                "enforcement",
                "event",
                "lab",
                "licensing_deal",
                "listing",
                "litigation",
                "model",
                "opt_out",
                "payout",
                "policy",
                "procurement",
                "rate",
                "sensor",
                "task",
                "vendor"
              ]
            }
          },
          {
            "name": "grade",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C",
                "D"
              ]
            }
          },
          {
            "name": "commercial_use",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Only datasets cleared for commercial use."
          },
          {
            "name": "org",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "modality",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "corroborated",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Only rows confirmed by 2+ independent hosts."
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 50,
              "maximum": 500
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Matching records"
          }
        }
      }
    },
    "/v1/search": {
      "get": {
        "operationId": "searchRecords",
        "summary": "Substring search across every field of every record.",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "benchmark",
                "broker",
                "company",
                "crawl_block",
                "crawler",
                "dataset",
                "enforcement",
                "event",
                "lab",
                "licensing_deal",
                "listing",
                "litigation",
                "model",
                "opt_out",
                "payout",
                "policy",
                "procurement",
                "rate",
                "sensor",
                "task",
                "vendor"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 25
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ranked matches"
          }
        }
      }
    },
    "/v1/{type}/{id}": {
      "get": {
        "operationId": "getRecord",
        "summary": "One record with full provenance.",
        "parameters": [
          {
            "name": "type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "benchmark",
                "broker",
                "company",
                "crawl_block",
                "crawler",
                "dataset",
                "enforcement",
                "event",
                "lab",
                "licensing_deal",
                "listing",
                "litigation",
                "model",
                "opt_out",
                "payout",
                "policy",
                "procurement",
                "rate",
                "sensor",
                "task",
                "vendor"
              ]
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The record"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/v1/facets": {
      "get": {
        "operationId": "getFacets",
        "summary": "Every filterable value with its count.",
        "responses": {
          "200": {
            "description": "Facet counts"
          }
        }
      }
    },
    "/v1/orgs": {
      "get": {
        "operationId": "listOrgs",
        "summary": "Organisations reconciled across every record type.",
        "responses": {
          "200": {
            "description": "Organisation registry"
          }
        }
      }
    },
    "/v1/records.ndjson": {
      "get": {
        "operationId": "bulkRecords",
        "summary": "Every record, one JSON object per line, for bulk use.",
        "responses": {
          "200": {
            "description": "NDJSON stream"
          }
        }
      }
    }
  }
}