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).
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. |
JSON Schema
{
"$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.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/clearmarket-fyi-resolution-log-entry"
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.