Skip to main content Skip to footer

JSON Schema Validation Documentation

Version: 1.0.0

Retrieved: 2025-10-09 15:15:59


JSON Schema Validation

Will validate objects against a defined JSON Schema.

Settings

Name Requirements Purpose Default
Source Property String with length 1 to 64 The path to the object to validate. If empty the root object will be used data
Validation Result Target String with length 1 to 64 The path to the object holding the result of the validation result
JSON Schema String with length 2 to 8192 The JSON Schema to use in the validation ``
Spec Version   If $schema is included in the JSON schema root this setting is overridden Draft202012

Example With Failed Validation

Settings

Source Property = 'data'
Validation Result Target = 'result'
JSON Schema = '{
  "title": "Engine",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "The engine name.",
      "minLength": 3,
      "maxLength": 10
    },
    "rpm": {
      "type": "integer",
      "description": "The current rpm, must be between 0 and 8000",
      "minimum": 0,
      "maximum": 8000
    },
    "temp": {
      "description": "Engine temp, must be between 100 and 500.",
      "type": "integer",
      "minimum": 100,
      "maximum": 500
    }
  },
  "required": ["rpm", "name", "temp"]
}'

Input

{
  "data": {
    "name": "machine",
    "rpm": 998,
    "temp": 53
  }
}

Output

{
  "crosser": {
    "success": true
  },
  "data": {
    "name": "machine",
    "rpm": 998,
    "temp": 53
  },
  "result": {
    "details": [
      {
        "errors": {
          "minimum": "53 is less than or equal to 100"
        },
        "property": "temp",
        "valid": false
      }
    ],
    "valid": false
  }
}

Example With Successful Validation

Settings

Source Property = 'data'
Validation Result Target = 'result'
JSON Schema = '{
  "title": "Engine",
  "type": ""object",
  "properties": {
    "name": {
      "type"": "string",
      "description": "The engine name.",
      "minLength": 3,
      "maxLength": 10
    },
    "rpm": {
      "type"": "integer",
      "description": "The current rpm, must be between 0 and 8000",
      "minimum": 0,
      "maximum": 8000
    },
    "temp": {
      "description": "Engine temp, must be between 100 and 500.",
      "type": "integer",
      "minimum": 100,
      "maximum": 500
    }
  },
  "required": ["rpm", "name", "temp"]
}'

Input

{
    "data": {
        "name": "E101"
        "temp": 150,
        "rpm": 1200
    }
}

Output

{
  "crosser": {
    "success": true
  },
  "data": {
    "name": "E101",
    "rpm": 150,
    "temp": 1200
  },
  "id": 1,
  "result": {
    "valid": true
  }
}