{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/deepsfetch-com/json-schema/deepsfetch-com-n8n-config-schema.json",
  "title": "N8nConfig",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/deepsfetch-com-api-openapi.json#/components/schemas/N8nConfig",
  "type": "object",
  "required": [
    "template",
    "url"
  ],
  "properties": {
    "template": {
      "enum": [
        "price",
        "documentation",
        "catalog"
      ]
    },
    "url": {
      "type": "string",
      "format": "uri",
      "description": "Public HTTPS URL; no credentials, IP literal or custom port."
    },
    "fields": {
      "type": "array",
      "minItems": 1,
      "maxItems": 20,
      "items": {
        "type": "object",
        "required": [
          "name",
          "type",
          "source",
          "path"
        ],
        "properties": {
          "name": {
            "type": "string",
            "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,47}$"
          },
          "type": {
            "enum": [
              "string",
              "number",
              "boolean"
            ]
          },
          "source": {
            "enum": [
              "css",
              "jsonld"
            ]
          },
          "path": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "required": {
            "type": "boolean"
          },
          "attribute": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "maxLength": 300
          }
        }
      }
    },
    "maxItems": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 50
    },
    "itemSelector": {
      "type": "string",
      "maxLength": 200
    },
    "costControl": {
      "type": "object",
      "properties": {
        "maxCredits": {
          "type": "integer",
          "minimum": 0,
          "description": "Additional task credit cap. External AI provider costs are excluded.",
          "maximum": 1000000000
        },
        "cacheMode": {
          "enum": [
            "fresh",
            "prefer"
          ]
        },
        "maxAgeSeconds": {
          "type": "integer",
          "minimum": 0,
          "maximum": 86400
        },
        "allowFallback": {
          "type": "boolean",
          "description": "Set false to restrict fallback. General estimation includes fallback unless false; quickstart forces false."
        },
        "taskId": {
          "type": "string",
          "description": "Shared task budget identifier within the workspace. Use a new ID per logical run; distinct from idempotency.",
          "minLength": 1,
          "maxLength": 160,
          "pattern": "^[a-zA-Z0-9:_-]+$"
        }
      },
      "description": "Supported on compatible scrape/map/crawl/extract paths. Browser runtime, interact, search and watch reject caps (including workspace policy) with 409 cost_operation_unsupported. External AI costs excluded."
    }
  }
}