{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "input": {
      "type": "string",
      "minLength": 1,
      "x-tiwater-file-role": "read"
    },
    "policy": {
      "type": "object",
      "properties": {
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "body": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "string"
          }
        },
        "table": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "required": [
        "schema",
        "body",
        "table"
      ],
      "additionalProperties": false
    },
    "returnContent": {
      "type": "boolean",
      "description": "Return the complete result directly when it fits the published response limit."
    },
    "output": {
      "type": "string",
      "minLength": 1,
      "description": "Absolute path for a new JSON file containing the complete result. Existing files are never overwritten.",
      "x-tiwater-file-role": "write",
      "x-tiwater-file-effect": false
    }
  },
  "required": [
    "input",
    "policy",
    "returnContent"
  ],
  "additionalProperties": false
}
