changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "additionalProperties": {},
+ "properties": {
+ "access_note": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "What this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears."
+ },
+ "available": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a guess."
+ },
+ "capped": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "applied": {
+ "description": "The value actually used.",
+ "type": "number"
+ },
+ "argument": {
+ "description": "Which argument was cut down, for example limit or hours.",
+ "type": "string"
+ },
+ "by": {
+ "description": "Why it was cut: keyless for the free ceiling, plan_max for a paid ceiling, tool_max for a ceiling no plan raises.",
+ "type": "string"
+ },
+ "max": {
+ "description": "The ceiling that applied.",
+ "type": "number"
+ },
+ "requested": {
+ "description": "The value the caller asked for.",
+ "type": "number"
+ }
+ },
+ "required": [
+ "argument",
+ "requested",
+ "applied",
+ "max",
+ "by"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Present only when an argument was cut down to a ceiling. Absent means nothing was clamped, so a smaller number than you asked for is the data and not a limit."
+ },
+ "count": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "How many events fired in the whole window, not how many rows came back."
+ },
+ "history_included": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "True when the recorded series was merged in, so a restart has not erased earlier events."
+ },
+ "liquidations": {
+ "anyOf": [
+ {
+ "items": {},
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The events themselves, newest first: price, size in base and quote, side (long_liquidated or short_liquidated), exchange and time. A sample of the window when truncated is true."
+ },
+ "long_liquidations": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "COUNT of longs force-closed. For dollars read long_usd."
+ },
+ "long_usd": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Dollars of longs force-closed across the window."
+ },
+ "note": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading."
+ },
+ "pair": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The pair these events belong to."
+ },
+ "requested_hours": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The period asked for, so a page can be told apart from a period."
+ },
+ "rows_returned": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "How many event rows are actually in this reply."
+ },
+ "rows_span_minutes": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "How far back the returned rows themselves reach."
+ },
+ "short_liquidations": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "COUNT of shorts force-closed. For dollars read short_usd."
+ },
+ "short_usd": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Dollars of shorts force-closed across the window."
+ },
+ "sources": {
+ "anyOf": [
+ {
+ "additionalProperties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "How the events split between the streamed exchanges and Hyperliquid, and whether the Hyperliquid part is a sample."
+ },
+ "total_in_window": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "How many events the window holds in total."
+ },
+ "total_volume_usd": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Dollars forced out across the whole window."
+ },
+ "truncated": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "True when more rows matched than were returned, so what you have is a page and not the whole set."
+ },
+ "window_hours": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The period the totals cover, in hours."
+ },
+ "window_minutes": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The same period in minutes."
+ }
+ },
+ "type": "object"
+}