{
  "title" : "Rest",
  "description" : "Defines a rest service using the rest-dsl",
  "type" : "object",
  "additionalProperties" : false,
  "properties" : {
    "apiDocs" : {
      "type" : "boolean",
      "title" : "Api Docs",
      "description" : "Whether to include or exclude this rest operation in API documentation. This option will override what may be configured on a parent level. The default value is true."
    },
    "bindingMode" : {
      "type" : "string",
      "title" : "Binding Mode",
      "description" : "Sets the binding mode to use. This option will override what may be configured on a parent level The default value is auto",
      "default" : "off",
      "enum" : [ "off", "auto", "json", "xml", "json_xml" ]
    },
    "clientRequestValidation" : {
      "type" : "boolean",
      "title" : "Client Request Validation",
      "description" : "Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error."
    },
    "consumes" : {
      "type" : "string",
      "title" : "Consumes",
      "description" : "To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level"
    },
    "delete" : {
      "type" : "array",
      "items" : {
        "$ref" : "#/definitions/org.apache.camel.model.rest.DeleteDefinition"
      }
    },
    "description" : {
      "type" : "string",
      "title" : "Description",
      "description" : "Sets the description of this node"
    },
    "disabled" : {
      "type" : "boolean",
      "title" : "Disabled",
      "description" : "Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime."
    },
    "enableCORS" : {
      "type" : "boolean",
      "title" : "Enable CORS",
      "description" : "Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false."
    },
    "enableNoContentResponse" : {
      "type" : "boolean",
      "title" : "Enable No Content Response",
      "description" : "Whether to return HTTP 204 with an empty body when a response contains an empty JSON object or XML root object. The default value is false."
    },
    "get" : {
      "type" : "array",
      "items" : {
        "$ref" : "#/definitions/org.apache.camel.model.rest.GetDefinition"
      }
    },
    "head" : {
      "type" : "array",
      "items" : {
        "$ref" : "#/definitions/org.apache.camel.model.rest.HeadDefinition"
      }
    },
    "id" : {
      "type" : "string",
      "title" : "Id",
      "description" : "Sets the id of this node"
    },
    "patch" : {
      "type" : "array",
      "items" : {
        "$ref" : "#/definitions/org.apache.camel.model.rest.PatchDefinition"
      }
    },
    "path" : {
      "type" : "string",
      "title" : "Path",
      "description" : "Path of the rest service, such as /foo"
    },
    "post" : {
      "type" : "array",
      "items" : {
        "$ref" : "#/definitions/org.apache.camel.model.rest.PostDefinition"
      }
    },
    "produces" : {
      "type" : "string",
      "title" : "Produces",
      "description" : "To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level"
    },
    "put" : {
      "type" : "array",
      "items" : {
        "$ref" : "#/definitions/org.apache.camel.model.rest.PutDefinition"
      }
    },
    "securityDefinitions" : {
      "title" : "Security Definitions",
      "description" : "Sets the security definitions such as Basic, OAuth2 etc.",
      "$ref" : "#/definitions/org.apache.camel.model.rest.RestSecuritiesDefinition"
    },
    "securityRequirements" : {
      "type" : "array",
      "title" : "Security Requirements",
      "description" : "Sets the security requirement(s) for all endpoints.",
      "items" : {
        "$ref" : "#/definitions/org.apache.camel.model.rest.SecurityDefinition"
      }
    },
    "skipBindingOnErrorCode" : {
      "type" : "boolean",
      "title" : "Skip Binding On Error Code",
      "description" : "Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level"
    },
    "tag" : {
      "type" : "string",
      "title" : "Tag",
      "description" : "To configure a special tag for the operations within this rest definition."
    }
  },
  "$schema" : "http://json-schema.org/draft-04/schema#",
  "definitions" : {
    "org.apache.camel.model.rest.DeleteDefinition" : {
      "title" : "Delete",
      "description" : "Rest DELETE command",
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "apiDocs" : {
          "type" : "boolean",
          "title" : "Api Docs",
          "description" : "Whether to include or exclude this rest operation in API documentation. The default value is true."
        },
        "bindingMode" : {
          "type" : "string",
          "title" : "Binding Mode",
          "description" : "Sets the binding mode to use. This option will override what may be configured on a parent level The default value is off",
          "default" : "off",
          "enum" : [ "off", "auto", "json", "xml", "json_xml" ]
        },
        "clientRequestValidation" : {
          "type" : "boolean",
          "title" : "Client Request Validation",
          "description" : "Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error."
        },
        "consumes" : {
          "type" : "string",
          "title" : "Consumes",
          "description" : "To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level"
        },
        "deprecated" : {
          "type" : "boolean",
          "title" : "Deprecated",
          "description" : "Marks this rest operation as deprecated in OpenApi documentation."
        },
        "description" : {
          "type" : "string",
          "title" : "Description",
          "description" : "Sets the description of this node"
        },
        "disabled" : {
          "type" : "boolean",
          "title" : "Disabled",
          "description" : "Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime."
        },
        "enableCORS" : {
          "type" : "boolean",
          "title" : "Enable CORS",
          "description" : "Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false."
        },
        "enableNoContentResponse" : {
          "type" : "boolean",
          "title" : "Enable No Content Response",
          "description" : "Whether to return HTTP 204 with an empty body when a response contains an empty JSON object or XML root object. The default value is false."
        },
        "id" : {
          "type" : "string",
          "title" : "Id",
          "description" : "Sets the id of this node"
        },
        "outType" : {
          "type" : "string",
          "title" : "Out Type",
          "description" : "Sets the class name to use for binding from POJO to output for the outgoing data This option will override what may be configured on a parent level The name of the class of the input data. Append a to the end of the name if you want the input to be an array type."
        },
        "param" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.ParamDefinition"
          }
        },
        "path" : {
          "type" : "string",
          "title" : "Path",
          "description" : "The path mapping URIs of this REST operation such as /{id}."
        },
        "produces" : {
          "type" : "string",
          "title" : "Produces",
          "description" : "To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level"
        },
        "responseMessage" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.ResponseMessageDefinition"
          }
        },
        "routeId" : {
          "type" : "string",
          "title" : "Route Id",
          "description" : "Sets the id of the route"
        },
        "security" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.SecurityDefinition"
          }
        },
        "skipBindingOnErrorCode" : {
          "type" : "boolean",
          "title" : "Skip Binding On Error Code",
          "description" : "Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level"
        },
        "to" : {
          "title" : "To",
          "description" : "The Camel endpoint this REST service will call, such as a direct endpoint to link to an existing route that handles this REST call.",
          "$ref" : "#/definitions/org.apache.camel.model.ToDefinition"
        },
        "type" : {
          "type" : "string",
          "title" : "Type",
          "description" : "Sets the class name to use for binding from input to POJO for the incoming data This option will override what may be configured on a parent level. The name of the class of the input data. Append a to the end of the name if you want the input to be an array type."
        }
      }
    },
    "org.apache.camel.model.rest.GetDefinition" : {
      "title" : "Get",
      "description" : "Rest GET command",
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "apiDocs" : {
          "type" : "boolean",
          "title" : "Api Docs",
          "description" : "Whether to include or exclude this rest operation in API documentation. The default value is true."
        },
        "bindingMode" : {
          "type" : "string",
          "title" : "Binding Mode",
          "description" : "Sets the binding mode to use. This option will override what may be configured on a parent level The default value is off",
          "default" : "off",
          "enum" : [ "off", "auto", "json", "xml", "json_xml" ]
        },
        "clientRequestValidation" : {
          "type" : "boolean",
          "title" : "Client Request Validation",
          "description" : "Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error."
        },
        "consumes" : {
          "type" : "string",
          "title" : "Consumes",
          "description" : "To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level"
        },
        "deprecated" : {
          "type" : "boolean",
          "title" : "Deprecated",
          "description" : "Marks this rest operation as deprecated in OpenApi documentation."
        },
        "description" : {
          "type" : "string",
          "title" : "Description",
          "description" : "Sets the description of this node"
        },
        "disabled" : {
          "type" : "boolean",
          "title" : "Disabled",
          "description" : "Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime."
        },
        "enableCORS" : {
          "type" : "boolean",
          "title" : "Enable CORS",
          "description" : "Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false."
        },
        "enableNoContentResponse" : {
          "type" : "boolean",
          "title" : "Enable No Content Response",
          "description" : "Whether to return HTTP 204 with an empty body when a response contains an empty JSON object or XML root object. The default value is false."
        },
        "id" : {
          "type" : "string",
          "title" : "Id",
          "description" : "Sets the id of this node"
        },
        "outType" : {
          "type" : "string",
          "title" : "Out Type",
          "description" : "Sets the class name to use for binding from POJO to output for the outgoing data This option will override what may be configured on a parent level The name of the class of the input data. Append a to the end of the name if you want the input to be an array type."
        },
        "param" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.ParamDefinition"
          }
        },
        "path" : {
          "type" : "string",
          "title" : "Path",
          "description" : "The path mapping URIs of this REST operation such as /{id}."
        },
        "produces" : {
          "type" : "string",
          "title" : "Produces",
          "description" : "To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level"
        },
        "responseMessage" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.ResponseMessageDefinition"
          }
        },
        "routeId" : {
          "type" : "string",
          "title" : "Route Id",
          "description" : "Sets the id of the route"
        },
        "security" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.SecurityDefinition"
          }
        },
        "skipBindingOnErrorCode" : {
          "type" : "boolean",
          "title" : "Skip Binding On Error Code",
          "description" : "Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level"
        },
        "to" : {
          "title" : "To",
          "description" : "The Camel endpoint this REST service will call, such as a direct endpoint to link to an existing route that handles this REST call.",
          "$ref" : "#/definitions/org.apache.camel.model.ToDefinition"
        },
        "type" : {
          "type" : "string",
          "title" : "Type",
          "description" : "Sets the class name to use for binding from input to POJO for the incoming data This option will override what may be configured on a parent level. The name of the class of the input data. Append a to the end of the name if you want the input to be an array type."
        }
      }
    },
    "org.apache.camel.model.rest.HeadDefinition" : {
      "title" : "Head",
      "description" : "Rest HEAD command",
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "apiDocs" : {
          "type" : "boolean",
          "title" : "Api Docs",
          "description" : "Whether to include or exclude this rest operation in API documentation. The default value is true."
        },
        "bindingMode" : {
          "type" : "string",
          "title" : "Binding Mode",
          "description" : "Sets the binding mode to use. This option will override what may be configured on a parent level The default value is off",
          "default" : "off",
          "enum" : [ "off", "auto", "json", "xml", "json_xml" ]
        },
        "clientRequestValidation" : {
          "type" : "boolean",
          "title" : "Client Request Validation",
          "description" : "Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error."
        },
        "consumes" : {
          "type" : "string",
          "title" : "Consumes",
          "description" : "To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level"
        },
        "deprecated" : {
          "type" : "boolean",
          "title" : "Deprecated",
          "description" : "Marks this rest operation as deprecated in OpenApi documentation."
        },
        "description" : {
          "type" : "string",
          "title" : "Description",
          "description" : "Sets the description of this node"
        },
        "disabled" : {
          "type" : "boolean",
          "title" : "Disabled",
          "description" : "Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime."
        },
        "enableCORS" : {
          "type" : "boolean",
          "title" : "Enable CORS",
          "description" : "Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false."
        },
        "enableNoContentResponse" : {
          "type" : "boolean",
          "title" : "Enable No Content Response",
          "description" : "Whether to return HTTP 204 with an empty body when a response contains an empty JSON object or XML root object. The default value is false."
        },
        "id" : {
          "type" : "string",
          "title" : "Id",
          "description" : "Sets the id of this node"
        },
        "outType" : {
          "type" : "string",
          "title" : "Out Type",
          "description" : "Sets the class name to use for binding from POJO to output for the outgoing data This option will override what may be configured on a parent level The name of the class of the input data. Append a to the end of the name if you want the input to be an array type."
        },
        "param" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.ParamDefinition"
          }
        },
        "path" : {
          "type" : "string",
          "title" : "Path",
          "description" : "The path mapping URIs of this REST operation such as /{id}."
        },
        "produces" : {
          "type" : "string",
          "title" : "Produces",
          "description" : "To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level"
        },
        "responseMessage" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.ResponseMessageDefinition"
          }
        },
        "routeId" : {
          "type" : "string",
          "title" : "Route Id",
          "description" : "Sets the id of the route"
        },
        "security" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.SecurityDefinition"
          }
        },
        "skipBindingOnErrorCode" : {
          "type" : "boolean",
          "title" : "Skip Binding On Error Code",
          "description" : "Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level"
        },
        "to" : {
          "title" : "To",
          "description" : "The Camel endpoint this REST service will call, such as a direct endpoint to link to an existing route that handles this REST call.",
          "$ref" : "#/definitions/org.apache.camel.model.ToDefinition"
        },
        "type" : {
          "type" : "string",
          "title" : "Type",
          "description" : "Sets the class name to use for binding from input to POJO for the incoming data This option will override what may be configured on a parent level. The name of the class of the input data. Append a to the end of the name if you want the input to be an array type."
        }
      }
    },
    "org.apache.camel.model.rest.PatchDefinition" : {
      "title" : "Patch",
      "description" : "Rest PATCH command",
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "apiDocs" : {
          "type" : "boolean",
          "title" : "Api Docs",
          "description" : "Whether to include or exclude this rest operation in API documentation. The default value is true."
        },
        "bindingMode" : {
          "type" : "string",
          "title" : "Binding Mode",
          "description" : "Sets the binding mode to use. This option will override what may be configured on a parent level The default value is off",
          "default" : "off",
          "enum" : [ "off", "auto", "json", "xml", "json_xml" ]
        },
        "clientRequestValidation" : {
          "type" : "boolean",
          "title" : "Client Request Validation",
          "description" : "Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error."
        },
        "consumes" : {
          "type" : "string",
          "title" : "Consumes",
          "description" : "To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level"
        },
        "deprecated" : {
          "type" : "boolean",
          "title" : "Deprecated",
          "description" : "Marks this rest operation as deprecated in OpenApi documentation."
        },
        "description" : {
          "type" : "string",
          "title" : "Description",
          "description" : "Sets the description of this node"
        },
        "disabled" : {
          "type" : "boolean",
          "title" : "Disabled",
          "description" : "Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime."
        },
        "enableCORS" : {
          "type" : "boolean",
          "title" : "Enable CORS",
          "description" : "Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false."
        },
        "enableNoContentResponse" : {
          "type" : "boolean",
          "title" : "Enable No Content Response",
          "description" : "Whether to return HTTP 204 with an empty body when a response contains an empty JSON object or XML root object. The default value is false."
        },
        "id" : {
          "type" : "string",
          "title" : "Id",
          "description" : "Sets the id of this node"
        },
        "outType" : {
          "type" : "string",
          "title" : "Out Type",
          "description" : "Sets the class name to use for binding from POJO to output for the outgoing data This option will override what may be configured on a parent level The name of the class of the input data. Append a to the end of the name if you want the input to be an array type."
        },
        "param" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.ParamDefinition"
          }
        },
        "path" : {
          "type" : "string",
          "title" : "Path",
          "description" : "The path mapping URIs of this REST operation such as /{id}."
        },
        "produces" : {
          "type" : "string",
          "title" : "Produces",
          "description" : "To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level"
        },
        "responseMessage" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.ResponseMessageDefinition"
          }
        },
        "routeId" : {
          "type" : "string",
          "title" : "Route Id",
          "description" : "Sets the id of the route"
        },
        "security" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.SecurityDefinition"
          }
        },
        "skipBindingOnErrorCode" : {
          "type" : "boolean",
          "title" : "Skip Binding On Error Code",
          "description" : "Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level"
        },
        "to" : {
          "title" : "To",
          "description" : "The Camel endpoint this REST service will call, such as a direct endpoint to link to an existing route that handles this REST call.",
          "$ref" : "#/definitions/org.apache.camel.model.ToDefinition"
        },
        "type" : {
          "type" : "string",
          "title" : "Type",
          "description" : "Sets the class name to use for binding from input to POJO for the incoming data This option will override what may be configured on a parent level. The name of the class of the input data. Append a to the end of the name if you want the input to be an array type."
        }
      }
    },
    "org.apache.camel.model.rest.PostDefinition" : {
      "title" : "Post",
      "description" : "Rest POST command",
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "apiDocs" : {
          "type" : "boolean",
          "title" : "Api Docs",
          "description" : "Whether to include or exclude this rest operation in API documentation. The default value is true."
        },
        "bindingMode" : {
          "type" : "string",
          "title" : "Binding Mode",
          "description" : "Sets the binding mode to use. This option will override what may be configured on a parent level The default value is off",
          "default" : "off",
          "enum" : [ "off", "auto", "json", "xml", "json_xml" ]
        },
        "clientRequestValidation" : {
          "type" : "boolean",
          "title" : "Client Request Validation",
          "description" : "Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error."
        },
        "consumes" : {
          "type" : "string",
          "title" : "Consumes",
          "description" : "To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level"
        },
        "deprecated" : {
          "type" : "boolean",
          "title" : "Deprecated",
          "description" : "Marks this rest operation as deprecated in OpenApi documentation."
        },
        "description" : {
          "type" : "string",
          "title" : "Description",
          "description" : "Sets the description of this node"
        },
        "disabled" : {
          "type" : "boolean",
          "title" : "Disabled",
          "description" : "Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime."
        },
        "enableCORS" : {
          "type" : "boolean",
          "title" : "Enable CORS",
          "description" : "Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false."
        },
        "enableNoContentResponse" : {
          "type" : "boolean",
          "title" : "Enable No Content Response",
          "description" : "Whether to return HTTP 204 with an empty body when a response contains an empty JSON object or XML root object. The default value is false."
        },
        "id" : {
          "type" : "string",
          "title" : "Id",
          "description" : "Sets the id of this node"
        },
        "outType" : {
          "type" : "string",
          "title" : "Out Type",
          "description" : "Sets the class name to use for binding from POJO to output for the outgoing data This option will override what may be configured on a parent level The name of the class of the input data. Append a to the end of the name if you want the input to be an array type."
        },
        "param" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.ParamDefinition"
          }
        },
        "path" : {
          "type" : "string",
          "title" : "Path",
          "description" : "The path mapping URIs of this REST operation such as /{id}."
        },
        "produces" : {
          "type" : "string",
          "title" : "Produces",
          "description" : "To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level"
        },
        "responseMessage" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.ResponseMessageDefinition"
          }
        },
        "routeId" : {
          "type" : "string",
          "title" : "Route Id",
          "description" : "Sets the id of the route"
        },
        "security" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.SecurityDefinition"
          }
        },
        "skipBindingOnErrorCode" : {
          "type" : "boolean",
          "title" : "Skip Binding On Error Code",
          "description" : "Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level"
        },
        "to" : {
          "title" : "To",
          "description" : "The Camel endpoint this REST service will call, such as a direct endpoint to link to an existing route that handles this REST call.",
          "$ref" : "#/definitions/org.apache.camel.model.ToDefinition"
        },
        "type" : {
          "type" : "string",
          "title" : "Type",
          "description" : "Sets the class name to use for binding from input to POJO for the incoming data This option will override what may be configured on a parent level. The name of the class of the input data. Append a to the end of the name if you want the input to be an array type."
        }
      }
    },
    "org.apache.camel.model.rest.PutDefinition" : {
      "title" : "Put",
      "description" : "Rest PUT command",
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "apiDocs" : {
          "type" : "boolean",
          "title" : "Api Docs",
          "description" : "Whether to include or exclude this rest operation in API documentation. The default value is true."
        },
        "bindingMode" : {
          "type" : "string",
          "title" : "Binding Mode",
          "description" : "Sets the binding mode to use. This option will override what may be configured on a parent level The default value is off",
          "default" : "off",
          "enum" : [ "off", "auto", "json", "xml", "json_xml" ]
        },
        "clientRequestValidation" : {
          "type" : "boolean",
          "title" : "Client Request Validation",
          "description" : "Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error."
        },
        "consumes" : {
          "type" : "string",
          "title" : "Consumes",
          "description" : "To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level"
        },
        "deprecated" : {
          "type" : "boolean",
          "title" : "Deprecated",
          "description" : "Marks this rest operation as deprecated in OpenApi documentation."
        },
        "description" : {
          "type" : "string",
          "title" : "Description",
          "description" : "Sets the description of this node"
        },
        "disabled" : {
          "type" : "boolean",
          "title" : "Disabled",
          "description" : "Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime."
        },
        "enableCORS" : {
          "type" : "boolean",
          "title" : "Enable CORS",
          "description" : "Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false."
        },
        "enableNoContentResponse" : {
          "type" : "boolean",
          "title" : "Enable No Content Response",
          "description" : "Whether to return HTTP 204 with an empty body when a response contains an empty JSON object or XML root object. The default value is false."
        },
        "id" : {
          "type" : "string",
          "title" : "Id",
          "description" : "Sets the id of this node"
        },
        "outType" : {
          "type" : "string",
          "title" : "Out Type",
          "description" : "Sets the class name to use for binding from POJO to output for the outgoing data This option will override what may be configured on a parent level The name of the class of the input data. Append a to the end of the name if you want the input to be an array type."
        },
        "param" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.ParamDefinition"
          }
        },
        "path" : {
          "type" : "string",
          "title" : "Path",
          "description" : "The path mapping URIs of this REST operation such as /{id}."
        },
        "produces" : {
          "type" : "string",
          "title" : "Produces",
          "description" : "To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level"
        },
        "responseMessage" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.ResponseMessageDefinition"
          }
        },
        "routeId" : {
          "type" : "string",
          "title" : "Route Id",
          "description" : "Sets the id of the route"
        },
        "security" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.SecurityDefinition"
          }
        },
        "skipBindingOnErrorCode" : {
          "type" : "boolean",
          "title" : "Skip Binding On Error Code",
          "description" : "Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level"
        },
        "to" : {
          "title" : "To",
          "description" : "The Camel endpoint this REST service will call, such as a direct endpoint to link to an existing route that handles this REST call.",
          "$ref" : "#/definitions/org.apache.camel.model.ToDefinition"
        },
        "type" : {
          "type" : "string",
          "title" : "Type",
          "description" : "Sets the class name to use for binding from input to POJO for the incoming data This option will override what may be configured on a parent level. The name of the class of the input data. Append a to the end of the name if you want the input to be an array type."
        }
      }
    },
    "org.apache.camel.model.rest.RestSecuritiesDefinition" : {
      "title" : "Rest Security Definitions",
      "description" : "To configure rest security definitions.",
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "apiKey" : {
          "$ref" : "#/definitions/org.apache.camel.model.rest.ApiKeyDefinition"
        },
        "basicAuth" : {
          "$ref" : "#/definitions/org.apache.camel.model.rest.BasicAuthDefinition"
        },
        "bearer" : {
          "$ref" : "#/definitions/org.apache.camel.model.rest.BearerTokenDefinition"
        },
        "mutualTLS" : {
          "$ref" : "#/definitions/org.apache.camel.model.rest.MutualTLSDefinition"
        },
        "oauth2" : {
          "$ref" : "#/definitions/org.apache.camel.model.rest.OAuth2Definition"
        },
        "openIdConnect" : {
          "$ref" : "#/definitions/org.apache.camel.model.rest.OpenIdConnectDefinition"
        }
      }
    },
    "org.apache.camel.model.rest.SecurityDefinition" : {
      "title" : "Rest Security",
      "description" : "Rest security definition",
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "key" : {
          "type" : "string",
          "title" : "Key",
          "description" : "Key used to refer to this security definition"
        },
        "scopes" : {
          "type" : "string",
          "title" : "Scopes",
          "description" : "The scopes to allow (separate multiple scopes by comma)"
        }
      },
      "required" : [ "key" ]
    },
    "org.apache.camel.model.rest.ParamDefinition" : {
      "title" : "Param",
      "description" : "To specify the rest operation parameters.",
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "allowableValues" : {
          "type" : "array",
          "title" : "Allowable Values",
          "description" : "Sets the parameter list of allowable values (enum).",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.ValueDefinition"
          }
        },
        "arrayType" : {
          "type" : "string",
          "title" : "Array Type",
          "description" : "Sets the parameter array type. Required if data type is array. Describes the type of items in the array.",
          "default" : "string"
        },
        "collectionFormat" : {
          "type" : "string",
          "title" : "Collection Format",
          "description" : "Sets the parameter collection format.",
          "default" : "csv",
          "enum" : [ "csv", "multi", "pipes", "ssv", "tsv" ]
        },
        "dataFormat" : {
          "type" : "string",
          "title" : "Data Format",
          "description" : "Sets the parameter data format."
        },
        "dataType" : {
          "type" : "string",
          "title" : "Data Type",
          "description" : "Sets the parameter data type.",
          "default" : "string"
        },
        "defaultValue" : {
          "type" : "string",
          "title" : "Default Value",
          "description" : "Sets the parameter default value."
        },
        "description" : {
          "type" : "string",
          "title" : "Description",
          "description" : "Sets the parameter description."
        },
        "examples" : {
          "type" : "array",
          "title" : "Examples",
          "description" : "Sets the parameter examples.",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.RestPropertyDefinition"
          }
        },
        "name" : {
          "type" : "string",
          "title" : "Name",
          "description" : "Sets the parameter name."
        },
        "required" : {
          "type" : "boolean",
          "title" : "Required",
          "description" : "Sets the parameter required flag."
        },
        "type" : {
          "type" : "string",
          "title" : "Type",
          "description" : "Sets the parameter type.",
          "default" : "path",
          "enum" : [ "body", "formData", "header", "path", "query" ]
        }
      },
      "required" : [ "name" ]
    },
    "org.apache.camel.model.rest.ResponseMessageDefinition" : {
      "title" : "Response Message",
      "description" : "To specify the rest operation response messages.",
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "code" : {
          "type" : "string",
          "title" : "Code",
          "description" : "The response code such as a HTTP status code",
          "default" : "200"
        },
        "examples" : {
          "type" : "array",
          "title" : "Examples",
          "description" : "Examples of response messages",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.RestPropertyDefinition"
          }
        },
        "header" : {
          "type" : "array",
          "title" : "Header",
          "description" : "Adds a response header",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.ResponseHeaderDefinition"
          }
        },
        "message" : {
          "type" : "string",
          "title" : "Message",
          "description" : "The response message (description)"
        },
        "responseModel" : {
          "type" : "string",
          "title" : "Response Model",
          "description" : "The response model"
        }
      },
      "required" : [ "message" ]
    },
    "org.apache.camel.model.ToDefinition" : {
      "title" : "To",
      "description" : "Sends the message to a static endpoint",
      "oneOf" : [ {
        "type" : "string"
      }, {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "description" : {
            "type" : "string",
            "title" : "Description",
            "description" : "Sets the description of this node"
          },
          "disabled" : {
            "type" : "boolean",
            "title" : "Disabled",
            "description" : "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime."
          },
          "id" : {
            "type" : "string",
            "title" : "Id",
            "description" : "Sets the id of this node"
          },
          "parameters" : {
            "type" : "object"
          },
          "pattern" : {
            "type" : "string",
            "title" : "Pattern",
            "description" : "Sets the optional ExchangePattern used to invoke this endpoint",
            "enum" : [ "InOnly", "InOut" ]
          },
          "uri" : {
            "type" : "string",
            "title" : "Uri",
            "description" : "Sets the uri of the endpoint to send to."
          },
          "variableReceive" : {
            "type" : "string",
            "title" : "Variable Receive",
            "description" : "To use a variable to store the received message body (only body, not headers). This is handy for easy access to the received message body via variables. Important: When using receive variable then the received body is stored only in this variable and not on the current org.apache.camel.Message ."
          },
          "variableSend" : {
            "type" : "string",
            "title" : "Variable Send",
            "description" : "To use a variable as the source for the message body to send. This makes it handy to use variables for user data and to easily control what data to use for sending and receiving. Important: When using send variable then the message body is taken from this variable instead of the current Message , however the headers from the Message will still be used as well. In other words, the variable is used instead of the message body, but everything else is as usual."
          }
        }
      } ],
      "required" : [ "uri" ]
    },
    "org.apache.camel.model.rest.ApiKeyDefinition" : {
      "title" : "Api Key",
      "description" : "Rest security basic auth definition",
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "description" : {
          "type" : "string",
          "title" : "Description",
          "description" : "A short description for security scheme."
        },
        "inCookie" : {
          "type" : "boolean",
          "title" : "In Cookie",
          "description" : "To use a cookie as the location of the API key."
        },
        "inHeader" : {
          "type" : "boolean",
          "title" : "In Header",
          "description" : "To use header as the location of the API key."
        },
        "inQuery" : {
          "type" : "boolean",
          "title" : "In Query",
          "description" : "To use query parameter as the location of the API key."
        },
        "key" : {
          "type" : "string",
          "title" : "Key",
          "description" : "Key used to refer to this security definition"
        },
        "name" : {
          "type" : "string",
          "title" : "Name",
          "description" : "The name of the header or query parameter to be used."
        }
      },
      "required" : [ "key", "name" ]
    },
    "org.apache.camel.model.rest.BasicAuthDefinition" : {
      "title" : "Basic Auth",
      "description" : "Rest security basic auth definition",
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "description" : {
          "type" : "string",
          "title" : "Description",
          "description" : "A short description for security scheme."
        },
        "key" : {
          "type" : "string",
          "title" : "Key",
          "description" : "Key used to refer to this security definition"
        }
      },
      "required" : [ "key" ]
    },
    "org.apache.camel.model.rest.BearerTokenDefinition" : {
      "title" : "Bearer Token",
      "description" : "Rest security bearer token authentication definition",
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "description" : {
          "type" : "string",
          "title" : "Description",
          "description" : "A short description for security scheme."
        },
        "format" : {
          "type" : "string",
          "title" : "Format",
          "description" : "A hint to the client to identify how the bearer token is formatted."
        },
        "key" : {
          "type" : "string",
          "title" : "Key",
          "description" : "Key used to refer to this security definition"
        }
      },
      "required" : [ "key" ]
    },
    "org.apache.camel.model.rest.MutualTLSDefinition" : {
      "title" : "Mutual TLS",
      "description" : "Rest security mutual TLS authentication definition",
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "description" : {
          "type" : "string",
          "title" : "Description",
          "description" : "A short description for security scheme."
        },
        "key" : {
          "type" : "string",
          "title" : "Key",
          "description" : "Key used to refer to this security definition"
        }
      },
      "required" : [ "key" ]
    },
    "org.apache.camel.model.rest.OAuth2Definition" : {
      "title" : "Oauth2",
      "description" : "Rest security OAuth2 definition",
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "authorizationUrl" : {
          "type" : "string",
          "title" : "Authorization Url",
          "description" : "The authorization URL to be used for this flow. This SHOULD be in the form of a URL. Required for implicit and access code flows"
        },
        "description" : {
          "type" : "string",
          "title" : "Description",
          "description" : "A short description for security scheme."
        },
        "flow" : {
          "type" : "string",
          "title" : "Flow",
          "description" : "The flow used by the OAuth2 security scheme. Valid values are implicit, password, application or accessCode.",
          "enum" : [ "implicit", "password", "application", "clientCredentials", "accessCode", "authorizationCode" ]
        },
        "key" : {
          "type" : "string",
          "title" : "Key",
          "description" : "Key used to refer to this security definition"
        },
        "refreshUrl" : {
          "type" : "string",
          "title" : "Refresh Url",
          "description" : "The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL."
        },
        "scopes" : {
          "type" : "array",
          "title" : "Scopes",
          "description" : "The available scopes for an OAuth2 security scheme",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.rest.RestPropertyDefinition"
          }
        },
        "tokenUrl" : {
          "type" : "string",
          "title" : "Token Url",
          "description" : "The token URL to be used for this flow. This SHOULD be in the form of a URL. Required for password, application, and access code flows."
        }
      },
      "required" : [ "key" ]
    },
    "org.apache.camel.model.rest.OpenIdConnectDefinition" : {
      "title" : "Open Id Connect",
      "description" : "Rest security OpenID Connect definition",
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "description" : {
          "type" : "string",
          "title" : "Description",
          "description" : "A short description for security scheme."
        },
        "key" : {
          "type" : "string",
          "title" : "Key",
          "description" : "Key used to refer to this security definition"
        },
        "url" : {
          "type" : "string",
          "title" : "Url",
          "description" : "OpenId Connect URL to discover OAuth2 configuration values."
        }
      },
      "required" : [ "key", "url" ]
    },
    "org.apache.camel.model.ValueDefinition" : {
      "title" : "Value",
      "description" : "A single value",
      "oneOf" : [ {
        "type" : "string"
      }, {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "value" : {
            "type" : "string",
            "title" : "Value",
            "description" : "Property value"
          }
        }
      } ]
    },
    "org.apache.camel.model.rest.RestPropertyDefinition" : {
      "title" : "Rest Property",
      "description" : "A key value pair",
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "key" : {
          "type" : "string",
          "title" : "Key",
          "description" : "Property key"
        },
        "value" : {
          "type" : "string",
          "title" : "Value",
          "description" : "Property value"
        }
      },
      "required" : [ "key", "value" ]
    },
    "org.apache.camel.model.rest.ResponseHeaderDefinition" : {
      "title" : "Response Header",
      "description" : "To specify the rest operation response headers.",
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "allowableValues" : {
          "type" : "array",
          "title" : "Allowable Values",
          "description" : "Sets the parameter list of allowable values.",
          "items" : {
            "$ref" : "#/definitions/org.apache.camel.model.ValueDefinition"
          }
        },
        "arrayType" : {
          "type" : "string",
          "title" : "Array Type",
          "description" : "Sets the parameter array type. Required if data type is array. Describes the type of items in the array.",
          "default" : "string"
        },
        "collectionFormat" : {
          "type" : "string",
          "title" : "Collection Format",
          "description" : "Sets the parameter collection format.",
          "default" : "csv",
          "enum" : [ "csv", "multi", "pipes", "ssv", "tsv" ]
        },
        "dataFormat" : {
          "type" : "string",
          "title" : "Data Format",
          "description" : "Sets the parameter data format."
        },
        "dataType" : {
          "type" : "string",
          "title" : "Data Type",
          "description" : "Sets the header data type.",
          "default" : "string"
        },
        "description" : {
          "type" : "string",
          "title" : "Description",
          "description" : "Description of the parameter."
        },
        "example" : {
          "type" : "string",
          "title" : "Example",
          "description" : "Sets the example"
        },
        "name" : {
          "type" : "string",
          "title" : "Name",
          "description" : "Name of the parameter. This option is mandatory."
        }
      },
      "required" : [ "name" ]
    }
  }
}