{
  "x402Version": 2,
  "id": 35053,
  "slug": "35053",
  "resource": "https://api.17711.xyz/registry/extract-correct-service/v1/extract-correct/parse_json",
  "description": "JSON repair API: extract valid JSON from messy text or model output and fix it against a JSON Schema",
  "type": "http",
  "serviceName": "17711 JSON Repair and Extract",
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0xc0bdc7d3635d0f8a907f41320d80e06f0cdf82ba",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "6000",
      "amountUsd": 0.006,
      "maxTimeoutSeconds": 120
    }
  ],
  "outputSchema": {
    "properties": {
      "example": {
        "properties": {
          "applied_fixes": {
            "description": "Every correction actually applied, in the order applied.",
            "items": {
              "$ref": "#/$defs/AppliedFix"
            },
            "type": "array"
          },
          "data": {
            "description": "The extracted (and, if a schema was supplied, corrected) JSON value."
          },
          "extraction_method": {
            "description": "How `data` was obtained: `\"direct\"` (already valid JSON), `\"repaired\"` (malformed JSON\nfixed in place), or `\"extracted_and_repaired\"` (isolated from surrounding text, then\nfixed).",
            "type": "string"
          },
          "remaining_issues": {
            "description": "Every schema violation that remains after correction -- non-empty only when `schema` was\nsupplied and at least one issue couldn't be fixed by a bounded v1 rule.",
            "items": {
              "$ref": "#/$defs/RemainingIssue"
            },
            "type": "array"
          },
          "valid": {
            "description": "Whether `data` satisfies `schema` after correction. `None` when no `schema` was supplied\n-- never conflated with \"assumed valid\".",
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "required": [
          "data",
          "extraction_method",
          "applied_fixes",
          "remaining_issues"
        ],
        "title": "ParseJsonResponse",
        "type": "object"
      },
      "type": {
        "const": "json"
      }
    },
    "required": [
      "type"
    ],
    "type": "object"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "schema": null,
            "text": "string"
          },
          "bodyType": "json",
          "method": "POST",
          "type": "http"
        },
        "output": {
          "example": {
            "applied_fixes": [
              {
                "detail": "string",
                "path": "string",
                "rule": "string"
              }
            ],
            "data": null,
            "extraction_method": "string",
            "remaining_issues": [
              {
                "keyword": "string",
                "message": "string",
                "path": "string"
              }
            ],
            "valid": false
          },
          "type": "json"
        }
      },
      "schema": {
        "$defs": {
          "AppliedFix": {
            "description": "One deterministic correction actually applied to the extracted value.",
            "properties": {
              "detail": {
                "description": "Human-readable detail of what changed.",
                "type": "string"
              },
              "path": {
                "description": "JSON Pointer to the field that was corrected (e.g. `/user/age`; `\"\"` = the whole value).",
                "type": "string"
              },
              "rule": {
                "description": "Which bounded correction rule fired (e.g. `type_coercion`, `additional_property_stripped`,\n`enum_case_insensitive_match`, `required_default_filled`, `clamped_to_minimum`,\n`clamped_to_maximum`, `array_truncated_to_max_items`).",
                "type": "string"
              }
            },
            "required": [
              "path",
              "rule",
              "detail"
            ],
            "type": "object"
          },
          "RemainingIssue": {
            "description": "One schema violation that could NOT be corrected -- never silently dropped or guessed.",
            "properties": {
              "keyword": {
                "description": "The JSON Schema keyword that failed (e.g. `pattern`, `format`, `minItems`, `oneOf`).",
                "type": "string"
              },
              "message": {
                "description": "The underlying validator's own error message.",
                "type": "string"
              },
              "path": {
                "description": "JSON Pointer to the field that still fails validation.",
                "type": "string"
              }
            },
            "required": [
              "path",
              "keyword",
              "message"
            ],
            "type": "object"
          }
        },
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "input": {
            "properties": {
              "body": {
                "properties": {
                  "schema": {
                    "default": null,
                    "description": "Optional JSON Schema to validate the extracted value against and auto-correct where a\nbounded, deterministic fix rule applies. Omitted = extraction only, no validation."
                  },
                  "text": {
                    "description": "Free-form or messy text to extract structured JSON from -- already-valid JSON, JSON\nwrapped in prose or a markdown code fence, or malformed JSON (trailing commas,\nsingle-quoted strings, unquoted keys, a truncated array/object).",
                    "type": "string"
                  }
                },
                "required": [
                  "text"
                ],
                "title": "ParseJsonRequest",
                "type": "object"
              },
              "bodyType": {
                "const": "json"
              },
              "method": {
                "const": "POST"
              },
              "type": {
                "const": "http"
              }
            },
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "type": "object"
          },
          "output": {
            "properties": {
              "example": {
                "properties": {
                  "applied_fixes": {
                    "description": "Every correction actually applied, in the order applied.",
                    "items": {
                      "$ref": "#/$defs/AppliedFix"
                    },
                    "type": "array"
                  },
                  "data": {
                    "description": "The extracted (and, if a schema was supplied, corrected) JSON value."
                  },
                  "extraction_method": {
                    "description": "How `data` was obtained: `\"direct\"` (already valid JSON), `\"repaired\"` (malformed JSON\nfixed in place), or `\"extracted_and_repaired\"` (isolated from surrounding text, then\nfixed).",
                    "type": "string"
                  },
                  "remaining_issues": {
                    "description": "Every schema violation that remains after correction -- non-empty only when `schema` was\nsupplied and at least one issue couldn't be fixed by a bounded v1 rule.",
                    "items": {
                      "$ref": "#/$defs/RemainingIssue"
                    },
                    "type": "array"
                  },
                  "valid": {
                    "description": "Whether `data` satisfies `schema` after correction. `None` when no `schema` was supplied\n-- never conflated with \"assumed valid\".",
                    "type": [
                      "boolean",
                      "null"
                    ]
                  }
                },
                "required": [
                  "data",
                  "extraction_method",
                  "applied_fixes",
                  "remaining_issues"
                ],
                "title": "ParseJsonResponse",
                "type": "object"
              },
              "type": {
                "const": "json"
              }
            },
            "required": [
              "type"
            ],
            "type": "object"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      }
    }
  },
  "tags": [
    "json-repair",
    "json",
    "json-schema",
    "structured-data",
    "model-output",
    "bazaar"
  ],
  "sourceHost": "api.17711.xyz",
  "lastUpdated": "2026-10-12T09:19:33.146Z",
  "quality": {
    "calls30d": 9,
    "uniquePayers30d": 1,
    "lastCalledAt": "2026-10-12T09:19:32.741Z"
  },
  "metadata": {
    "serviceName": "17711 JSON Repair and Extract",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "schema": null,
              "text": "string"
            },
            "bodyType": "json",
            "method": "POST",
            "type": "http"
          },
          "output": {
            "example": {
              "applied_fixes": [
                {
                  "detail": "string",
                  "path": "string",
                  "rule": "string"
                }
              ],
              "data": null,
              "extraction_method": "string",
              "remaining_issues": [
                {
                  "keyword": "string",
                  "message": "string",
                  "path": "string"
                }
              ],
              "valid": false
            },
            "type": "json"
          }
        },
        "schema": {
          "$defs": {
            "AppliedFix": {
              "description": "One deterministic correction actually applied to the extracted value.",
              "properties": {
                "detail": {
                  "description": "Human-readable detail of what changed.",
                  "type": "string"
                },
                "path": {
                  "description": "JSON Pointer to the field that was corrected (e.g. `/user/age`; `\"\"` = the whole value).",
                  "type": "string"
                },
                "rule": {
                  "description": "Which bounded correction rule fired (e.g. `type_coercion`, `additional_property_stripped`,\n`enum_case_insensitive_match`, `required_default_filled`, `clamped_to_minimum`,\n`clamped_to_maximum`, `array_truncated_to_max_items`).",
                  "type": "string"
                }
              },
              "required": [
                "path",
                "rule",
                "detail"
              ],
              "type": "object"
            },
            "RemainingIssue": {
              "description": "One schema violation that could NOT be corrected -- never silently dropped or guessed.",
              "properties": {
                "keyword": {
                  "description": "The JSON Schema keyword that failed (e.g. `pattern`, `format`, `minItems`, `oneOf`).",
                  "type": "string"
                },
                "message": {
                  "description": "The underlying validator's own error message.",
                  "type": "string"
                },
                "path": {
                  "description": "JSON Pointer to the field that still fails validation.",
                  "type": "string"
                }
              },
              "required": [
                "path",
                "keyword",
                "message"
              ],
              "type": "object"
            }
          },
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "properties": {
                "body": {
                  "properties": {
                    "schema": {
                      "default": null,
                      "description": "Optional JSON Schema to validate the extracted value against and auto-correct where a\nbounded, deterministic fix rule applies. Omitted = extraction only, no validation."
                    },
                    "text": {
                      "description": "Free-form or messy text to extract structured JSON from -- already-valid JSON, JSON\nwrapped in prose or a markdown code fence, or malformed JSON (trailing commas,\nsingle-quoted strings, unquoted keys, a truncated array/object).",
                      "type": "string"
                    }
                  },
                  "required": [
                    "text"
                  ],
                  "title": "ParseJsonRequest",
                  "type": "object"
                },
                "bodyType": {
                  "const": "json"
                },
                "method": {
                  "const": "POST"
                },
                "type": {
                  "const": "http"
                }
              },
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "type": "object"
            },
            "output": {
              "properties": {
                "example": {
                  "properties": {
                    "applied_fixes": {
                      "description": "Every correction actually applied, in the order applied.",
                      "items": {
                        "$ref": "#/$defs/AppliedFix"
                      },
                      "type": "array"
                    },
                    "data": {
                      "description": "The extracted (and, if a schema was supplied, corrected) JSON value."
                    },
                    "extraction_method": {
                      "description": "How `data` was obtained: `\"direct\"` (already valid JSON), `\"repaired\"` (malformed JSON\nfixed in place), or `\"extracted_and_repaired\"` (isolated from surrounding text, then\nfixed).",
                      "type": "string"
                    },
                    "remaining_issues": {
                      "description": "Every schema violation that remains after correction -- non-empty only when `schema` was\nsupplied and at least one issue couldn't be fixed by a bounded v1 rule.",
                      "items": {
                        "$ref": "#/$defs/RemainingIssue"
                      },
                      "type": "array"
                    },
                    "valid": {
                      "description": "Whether `data` satisfies `schema` after correction. `None` when no `schema` was supplied\n-- never conflated with \"assumed valid\".",
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "extraction_method",
                    "applied_fixes",
                    "remaining_issues"
                  ],
                  "title": "ParseJsonResponse",
                  "type": "object"
                },
                "type": {
                  "const": "json"
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            }
          },
          "required": [
            "input"
          ],
          "type": "object"
        }
      }
    }
  },
  "liveness": {
    "reliability": null
  },
  "verified": false,
  "featured": false,
  "provider": {
    "host": "api.17711.xyz",
    "manifest_name": "api.17711.xyz",
    "source": "cdp-mirror",
    "source_manifest_url": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
    "submitted_at": "2026-10-13T15:56:53.641Z"
  },
  "exampleResponse": {
    "example": {
      "applied_fixes": [
        "value"
      ],
      "data": null,
      "extraction_method": "string",
      "remaining_issues": [
        "value"
      ],
      "valid": true
    },
    "type": null
  }
}