changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "additionalProperties": false,
+ "properties": {
+ "data": {
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "null"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "string"
+ },
+ {
+ "type": "array"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ },
+ "description": "Present on success: API result after field selection, redaction, and transport limits.",
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "error": {
+ "additionalProperties": false,
+ "description": "Present on failure, with isError: true.",
+ "properties": {
+ "assistant_guidance": {
+ "type": "string"
+ },
+ "category": {
+ "type": "string"
+ },
+ "documented_status": {
+ "type": "boolean"
+ },
+ "explanation_hint": {
+ "type": "string"
+ },
+ "guidance": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "retryable": {
+ "type": "boolean"
+ },
+ "source": {
+ "enum": [
+ "mcp_server",
+ "ipgeolocation_api"
+ ],
+ "type": "string"
+ },
+ "status": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "source",
+ "category",
+ "message",
+ "retryable",
+ "guidance",
+ "assistant_guidance"
+ ],
+ "type": "object"
+ },
+ "page": {
+ "additionalProperties": false,
+ "properties": {
+ "cursor": {
+ "description": "Opaque cursor returned in page.cursor or page.next_cursor. Retrieval requires the same server process and API key and does not repeat the original lookup.",
+ "maxLength": 80,
+ "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}:\\d{1,16}$",
+ "type": "string"
+ },
+ "expires_at": {
+ "description": "ISO timestamp for idle expiry. Successful page reads extend the cache TTL; eviction or process restart can also remove the result.",
+ "type": "string"
+ },
+ "format": {
+ "const": "structuredContent_json",
+ "type": "string"
+ },
+ "json_fragment": {
+ "description": "JSON fragment of the original structuredContent. Fragments concatenate in offset order into the complete JSON, including bulk items and errors.",
+ "type": "string"
+ },
+ "next_cursor": {
+ "description": "Cursor for the next get_cached_result page, absent on the last page. Page reads never call the API or consume credits.",
+ "maxLength": 80,
+ "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}:\\d{1,16}$",
+ "type": "string"
+ },
+ "offset": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "source_tool": {
+ "type": "string"
+ },
+ "total_chars": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "source_tool",
+ "format",
+ "json_fragment",
+ "offset",
+ "total_chars",
+ "cursor",
+ "expires_at"
+ ],
+ "type": "object"
+ }
+ },
+ "type": "object"
+}