{
  "name": "jsonfmt.dev API",
  "version": "2.0.0",
  "docs": "https://api.jsonfmt.dev/docs",
  "endpoints": [
    {
      "method": "POST",
      "path": "/format",
      "description": "Pretty-print JSON"
    },
    {
      "method": "POST",
      "path": "/minify",
      "description": "Minify JSON"
    },
    {
      "method": "POST",
      "path": "/validate",
      "description": "Validate JSON"
    },
    {
      "method": "POST",
      "path": "/compact",
      "description": "Smart compact formatting"
    },
    {
      "method": "POST",
      "path": "/sort-keys",
      "description": "Sort object keys"
    },
    {
      "method": "POST",
      "path": "/escape",
      "description": "JSON-escape a string"
    },
    {
      "method": "POST",
      "path": "/unescape",
      "description": "Unescape JSON string"
    },
    {
      "method": "POST",
      "path": "/repair",
      "description": "Fix broken JSON"
    },
    {
      "method": "POST",
      "path": "/diff",
      "description": "Compare two JSON documents"
    },
    {
      "method": "POST",
      "path": "/redact",
      "description": "Redact sensitive values"
    },
    {
      "method": "POST",
      "path": "/pick",
      "description": "Keep only specified keys"
    },
    {
      "method": "POST",
      "path": "/omit",
      "description": "Remove specified keys"
    },
    {
      "method": "POST",
      "path": "/merge",
      "description": "Deep merge two objects"
    },
    {
      "method": "POST",
      "path": "/groupby",
      "description": "Group array by field"
    },
    {
      "method": "POST",
      "path": "/sortby",
      "description": "Sort array by field"
    },
    {
      "method": "POST",
      "path": "/size",
      "description": "Size report"
    },
    {
      "method": "POST",
      "path": "/security",
      "description": "Security scan"
    },
    {
      "method": "POST",
      "path": "/stats",
      "description": "JSON statistics"
    },
    {
      "method": "POST",
      "path": "/profile",
      "description": "Data profiling"
    },
    {
      "method": "POST",
      "path": "/mock",
      "description": "Generate mock data"
    },
    {
      "method": "POST",
      "path": "/convert/:format",
      "description": "Convert JSON (32 formats)"
    },
    {
      "method": "POST",
      "path": "/jwt/decode",
      "description": "Decode JWT token"
    },
    {
      "method": "POST",
      "path": "/schema/validate",
      "description": "Validate against JSON Schema"
    },
    {
      "method": "POST",
      "path": "/schema/generate",
      "description": "Generate JSON Schema"
    },
    {
      "method": "POST",
      "path": "/jsonpath",
      "description": "JSONPath query"
    },
    {
      "method": "POST",
      "path": "/jsonl/validate",
      "description": "Validate JSONL"
    },
    {
      "method": "POST",
      "path": "/jsonl/to-array",
      "description": "JSONL to JSON array"
    },
    {
      "method": "POST",
      "path": "/jsonl/from-array",
      "description": "JSON array to JSONL"
    },
    {
      "method": "POST",
      "path": "/patch",
      "description": "Generate RFC 6902 JSON Patch"
    },
    {
      "method": "GET",
      "path": "/health",
      "description": "Health check"
    }
  ],
  "convert_formats": [
    "yaml",
    "csv",
    "xml",
    "toml",
    "markdown",
    "dotenv",
    "base64",
    "base64decode",
    "typescript",
    "python",
    "go",
    "rust",
    "java",
    "csharp",
    "kotlin",
    "swift",
    "dart",
    "php",
    "ruby",
    "zod",
    "proptypes",
    "mongoose",
    "graphql",
    "openapi",
    "protobuf",
    "jsonschema",
    "mermaid",
    "sql",
    "sqlddl",
    "mongodb",
    "flatten",
    "unflatten",
    "csv2json"
  ],
  "authentication": "Optional. Pass API key as Authorization: Bearer <key>",
  "rateLimit": "No key: 10 req/min. Free tier: 100 req/day. Pro: 10K req/day.",
  "example": "curl -X POST https://api.jsonfmt.dev/format -H \"Content-Type: application/json\" -d '{\"a\":1,\"b\":2}'"
}