changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "$defs": {
+ "CachedReport": {
+ "additionalProperties": true,
+ "properties": {
+ "age_hours": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Hours since generated_at.",
+ "title": "Age Hours"
+ },
+ "generated_at": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "When the cached PDF was built (ISO UTC).",
+ "title": "Generated At"
+ },
+ "latest_event_at": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Timestamp of the symbol's latest report inputs (the event).",
+ "title": "Latest Event At"
+ },
+ "stale": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "True: the PDF predates the latest event. False: it reflects it. Null: freshness unknown.",
+ "title": "Stale"
+ },
+ "symbol": {
+ "title": "Symbol",
+ "type": "string"
+ },
+ "template": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "\"user\": the caller's own copy in their saved template. \"default\": the platform layout.",
+ "title": "Template"
+ },
+ "url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Presigned link to the PDF, valid ~6h from the call. Download it to read the report; hand it to the user to open. Call get_latest_report again for a fresh link; never edit one.",
+ "title": "Url"
+ }
+ },
+ "required": [
+ "symbol"
+ ],
+ "title": "CachedReport",
+ "type": "object"
+ },
+ "ReportTask": {
+ "additionalProperties": true,
+ "properties": {
+ "status": {
+ "description": "Task state at dispatch, normally \"PENDING\".",
+ "title": "Status",
+ "type": "string"
+ },
+ "symbol": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Ticker the report task renders.",
+ "title": "Symbol"
+ },
+ "task_id": {
+ "description": "Celery task id; poll it with get_task_status until SUCCESS.",
+ "title": "Task Id",
+ "type": "string"
+ }
+ },
+ "required": [
+ "task_id",
+ "status"
+ ],
+ "title": "ReportTask",
+ "type": "object"
+ }
+ },
+ "additionalProperties": true,
+ "properties": {
+ "missing": {
+ "description": "Symbols with no report written yet.",
+ "items": {
+ "type": "string"
+ },
+ "title": "Missing",
+ "type": "array"
+ },
+ "rendering": {
+ "additionalProperties": {
+ "$ref": "#/$defs/ReportTask"
+ },
+ "description": "Always empty: reports are written at event time and nothing renders on fetch. Kept for older clients.",
+ "title": "Rendering",
+ "type": "object"
+ },
+ "result": {
+ "description": "Symbols served from the cached PDF.",
+ "items": {
+ "$ref": "#/$defs/CachedReport"
+ },
+ "title": "Result",
+ "type": "array"
+ },
+ "stale_symbols": {
+ "description": "The `result` symbols flagged stale: true.",
+ "items": {
+ "type": "string"
+ },
+ "title": "Stale Symbols",
+ "type": "array"
+ }
+ },
+ "title": "CachedReportsResult",
+ "type": "object"
+}