changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "additionalProperties": false,
+ "properties": {
+ "_meta": {
+ "additionalProperties": false,
+ "description": "Provenance envelope — data lineage for every MCP response",
+ "properties": {
+ "as_of_date": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "data_plan": {
+ "description": "Access plan: sample | sp500 | pro | full",
+ "type": "string"
+ },
+ "data_quality": {
+ "additionalProperties": false,
+ "description": "Server-side invariants run on this response",
+ "properties": {
+ "notes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "validation_failed": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "detail": {
+ "type": "string"
+ },
+ "rule": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "rule",
+ "detail"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "validation_passed": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "validation_passed",
+ "validation_failed",
+ "notes"
+ ],
+ "type": "object"
+ },
+ "last_updated": {
+ "description": "ISO timestamp when the snapshot was exported",
+ "type": "string"
+ },
+ "limit_warnings": {
+ "description": "Soft-warning array for partial fulfillment. Each entry carries a stable subcode + remediation.options[]. AI agents pattern-match on subcode.",
+ "items": {
+ "additionalProperties": true,
+ "properties": {
+ "code": {
+ "const": "LIMIT_EXCEEDED",
+ "type": "string"
+ },
+ "current_plan": {
+ "type": "string"
+ },
+ "extensions": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "limit_type": {
+ "type": "string"
+ },
+ "limit_value": {},
+ "remediation": {
+ "additionalProperties": true,
+ "properties": {
+ "contact_sales": {
+ "type": "string"
+ },
+ "default_action": {
+ "type": "string"
+ },
+ "options": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "pricing_page": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "options",
+ "default_action",
+ "pricing_page",
+ "contact_sales"
+ ],
+ "type": "object"
+ },
+ "requested_value": {},
+ "returned_value": {},
+ "subcode": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "subcode",
+ "limit_type",
+ "current_plan",
+ "remediation"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "payg_override": {
+ "additionalProperties": false,
+ "description": "Set when this single response was paid for via the agent-pay PAYG flow — the rate-limit / depth-limit checks were bypassed for this call only.",
+ "properties": {
+ "amount_cents": {
+ "type": "number"
+ },
+ "entity_scope_hash": {
+ "type": "string"
+ },
+ "meter": {
+ "type": "string"
+ },
+ "quote_id": {
+ "type": "string"
+ },
+ "retry_token_hash": {
+ "type": "string"
+ },
+ "ticker_count": {
+ "type": "number"
+ },
+ "tool": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "quote_id",
+ "tool",
+ "meter",
+ "amount_cents",
+ "ticker_count",
+ "entity_scope_hash",
+ "retry_token_hash"
+ ],
+ "type": "object"
+ },
+ "pit_safe": {
+ "type": "boolean"
+ },
+ "rate_limit": {
+ "additionalProperties": false,
+ "description": "Caller's remaining budget",
+ "properties": {
+ "limit": {
+ "type": "integer"
+ },
+ "remaining": {
+ "type": "integer"
+ },
+ "reset_at": {
+ "description": "ISO 8601 timestamp when the window resets",
+ "type": "string"
+ },
+ "window": {
+ "enum": [
+ "minute",
+ "hour"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "limit",
+ "remaining",
+ "reset_at",
+ "window"
+ ],
+ "type": "object"
+ },
+ "request_id": {
+ "description": "Per-request correlation id (8-char)",
+ "type": "string"
+ },
+ "result_count": {
+ "type": "integer"
+ },
+ "schema_version": {
+ "description": "Parquet schema version from manifest.json",
+ "type": "string"
+ },
+ "snapshot": {
+ "description": "Snapshot directory name (e.g. snapshot_20260420)",
+ "type": "string"
+ },
+ "source": {
+ "const": "SEC EDGAR",
+ "type": "string"
+ },
+ "ticker": {
+ "type": "string"
+ },
+ "truncation": {
+ "additionalProperties": false,
+ "description": "Set when fewer rows were returned than requested — explains why and points to a remedy",
+ "properties": {
+ "current_plan": {
+ "type": "string"
+ },
+ "plan_limit": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "reason": {
+ "enum": [
+ "PLAN_LIMIT",
+ "DATA_NOT_AVAILABLE",
+ "FISCAL_YEAR_BOUNDARY_FILTER",
+ "OTHER"
+ ],
+ "type": "string"
+ },
+ "requested": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "returned": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "upgrade_required_for": {
+ "type": "string"
+ },
+ "upgrade_url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "requested",
+ "returned",
+ "reason"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "data_plan",
+ "schema_version",
+ "snapshot",
+ "last_updated",
+ "source",
+ "pit_safe"
+ ],
+ "type": "object"
+ },
+ "as_of_date": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "changes": {
+ "description": "Per-metric deltas: metric, label, period_a, period_b, delta, delta_pct, significance",
+ "items": {
+ "additionalProperties": true,
+ "properties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "company_name": {
+ "type": "string"
+ },
+ "material_changes": {
+ "description": "Count of metrics flagged as a material change",
+ "type": "integer"
+ },
+ "period_a": {
+ "additionalProperties": true,
+ "description": "Earlier period descriptor: label, fiscal_year, fiscal_period, period_end, filing_date",
+ "properties": {},
+ "type": "object"
+ },
+ "period_b": {
+ "additionalProperties": true,
+ "description": "Later period descriptor, same shape as period_a",
+ "properties": {},
+ "type": "object"
+ },
+ "swapped": {
+ "description": "True when inputs were reordered so period_b is the more recent period",
+ "type": "boolean"
+ },
+ "ticker": {
+ "type": "string"
+ },
+ "total_metrics": {
+ "description": "Count of metrics compared across the two periods",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "_meta",
+ "ticker",
+ "period_a",
+ "period_b",
+ "swapped",
+ "total_metrics",
+ "material_changes",
+ "changes"
+ ],
+ "type": "object"
+}