ClearMarket · Schema

ClearMarket Resolution Log Entry

Append-only audit trail of lifecycle events for a market. Never updated, never deleted. Row sequence reconstructs the market's full history. v0.1 populates status_change / rule_change / resolved events via platform API diffing. resolution_proposed and disputed events require UMA subgraph reader (v0.3+). amended and reversed events require editorial observation. API responses add serve-time fields beyond this canonical schema (_provenance, _notice, and per-endpoint extras).

Prediction MarketsMarket Data APISignal FeedDaily WireMarket Intelligence

Properties

Name Type Description
log_id integer BIGSERIAL auto-generated primary key.
market_id string FK to markets.market_id.
event_type string Lifecycle event type. status_change: market state transition (active -> closed, etc). rule_change: resolution criteria amended mid-life. resolution_proposed: outcome submitted (UMA or staff). disputed
occurred_basis stringnull Which clock occurred_at holds. venue_settlement: the venue's actual settlement timestamp (Kalshi settlement_ts, Polymarket closedTime). deadline: the contract deadline, used as fallback when the venue
occurred_at string When the event happened, by the venue's clock. Authoritative event timestamp.
recorded_at string When ClearMarket captured this event. Gap between occurred_at and recorded_at = detection lag.
from_value stringnull Prior state. For status_change: old status string. For rule_change: snippet of old rule. NULL for initial creation events.
to_value stringnull New state. Same format as from_value.
diff objectnull Structured diff for multi-field changes (rule_change, complex amended). Simple status changes leave this null. Free-form JSONB — typical shape: {field_name: {before, after}, reason_prose}.
source string How ClearMarket detected this event. v0.1 supports platform_api, editorial_observation, platform_announcement. uma_subgraph and cftc_filing are v0.3+.
source_ref stringnull Pointer into the source: UMA dispute ID (for uma_subgraph), announcement URL (platform_announcement), editorial commit hash (editorial_observation). Null for platform_api events.
actor stringnull Who caused the event: platform name, UMA proposer address, editorial author. NULL for autonomous platform state transitions where actor is implicit.
View JSON Schema on GitHub

JSON Schema

clearmarket-fyi-resolution-log-entry-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://clearmarket.fyi/schema/resolution_log.json",
  "title": "ClearMarket Resolution Log Entry",
  "description": "Append-only audit trail of lifecycle events for a market. Never updated, never deleted. Row sequence reconstructs the market's full history. v0.1 populates status_change / rule_change / resolved events via platform API diffing. resolution_proposed and disputed events require UMA subgraph reader (v0.3+). amended and reversed events require editorial observation. API responses add serve-time fields beyond this canonical schema (_provenance, _notice, and per-endpoint extras).",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/clearmarket-fyi-openapi.json#/components/schemas/ResolutionLogEntry",
  "type": "object",
  "required": [
    "log_id",
    "market_id",
    "event_type",
    "occurred_at",
    "recorded_at",
    "source"
  ],
  "properties": {
    "log_id": {
      "type": "integer",
      "description": "BIGSERIAL auto-generated primary key."
    },
    "market_id": {
      "type": "string",
      "pattern": "^CM-MKT-[0-9]{6}$",
      "description": "FK to markets.market_id."
    },
    "event_type": {
      "type": "string",
      "enum": [
        "status_change",
        "rule_change",
        "resolution_proposed",
        "disputed",
        "resolved",
        "amended",
        "reversed"
      ],
      "description": "Lifecycle event type. status_change: market state transition (active -> closed, etc). rule_change: resolution criteria amended mid-life. resolution_proposed: outcome submitted (UMA or staff). disputed: proposed resolution challenged. resolved: final outcome committed. amended: post-resolution correction. reversed: post-resolution full reversal."
    },
    "occurred_basis": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "venue_settlement",
        "deadline",
        "first_observed",
        null
      ],
      "description": "Which clock occurred_at holds. venue_settlement: the venue's actual settlement timestamp (Kalshi settlement_ts, Polymarket closedTime). deadline: the contract deadline, used as fallback when the venue exposes no settlement time (e.g. delisted before settlement) — deadline-basis timestamps are NOT settlement times. first_observed: neither was available; the first pipeline observation date."
    },
    "occurred_at": {
      "type": "string",
      "format": "date-time",
      "description": "When the event happened, by the venue's clock. Authoritative event timestamp."
    },
    "recorded_at": {
      "type": "string",
      "format": "date-time",
      "description": "When ClearMarket captured this event. Gap between occurred_at and recorded_at = detection lag."
    },
    "from_value": {
      "type": [
        "string",
        "null"
      ],
      "description": "Prior state. For status_change: old status string. For rule_change: snippet of old rule. NULL for initial creation events."
    },
    "to_value": {
      "type": [
        "string",
        "null"
      ],
      "description": "New state. Same format as from_value."
    },
    "diff": {
      "type": [
        "object",
        "null"
      ],
      "description": "Structured diff for multi-field changes (rule_change, complex amended). Simple status changes leave this null. Free-form JSONB — typical shape: {field_name: {before, after}, reason_prose}."
    },
    "source": {
      "type": "string",
      "enum": [
        "platform_api",
        "uma_subgraph",
        "editorial_observation",
        "platform_announcement",
        "cftc_filing"
      ],
      "description": "How ClearMarket detected this event. v0.1 supports platform_api, editorial_observation, platform_announcement. uma_subgraph and cftc_filing are v0.3+."
    },
    "source_ref": {
      "type": [
        "string",
        "null"
      ],
      "description": "Pointer into the source: UMA dispute ID (for uma_subgraph), announcement URL (platform_announcement), editorial commit hash (editorial_observation). Null for platform_api events."
    },
    "actor": {
      "type": [
        "string",
        "null"
      ],
      "description": "Who caused the event: platform name, UMA proposer address, editorial author. NULL for autonomous platform state transitions where actor is implicit."
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/clearmarket-fyi-resolution-log-entry"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.