Filter Schema

Methods in the Filter API use the filter schema.

Schemas are used to validate JSON-style API inputs. You can use them as an additional guide for composing those inputs.

This page discusses:

Logical Condition Schema

{
    "$id": "http://www.3ds.com/schemas/Condition/logicalCondition.json",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "Logical Condition",
    "type": "object",
    "info": {
        "description": "JSON schema for logical condition object.",
        "version": "1.0",
        "title": "Logical Condition JSON"
    },
    "additionalProperties":false,
    "properties":{
        "@class":{
            "type":"string"
        },
        "type":{
            "type":"string"
        },
        "tagName":{},
        "tagValue":{},
        "userID":{},
        "rowId":{},
        "rowIdRange":{},
        "rowIdList":{},
        "rowGroupId":{},
        "rowGrade":{}
    },
    "required":["parameterID","type"]
}

Parametric Condition Schema

{
    "$id": "http://www.3ds.com/schemas/Condition/parametricCondition.json",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "Parametric Condition",
    "type": "object",
    "info": {
        "description": "JSON schema for parametric condition object.",
        "version": "1.0",
        "title": "Parametric Condition JSON"
    },
    "additionalProperties":false,
    "properties":{
        "@class":{
            "type":"string"
        },
        "parameterID":{
            "type":"string"
        },
        "type":{
            "type":"string"
        },
        "boundValue":{
            "type":"number"
        },
        "range":{
            "type":"array",
            "items":{"type":"number"},
            "minItems":2,
            "maxItems":2
        }
    },
    "oneOf":[
        {
            "properties":{"type":{"enum":["LESS_THAN","GREATER_THAN"]}},
            "required":["type", "boundValue"]
        },
        {
            "properties":{"type":{"enum":["IN_RANGE"]}},
            "required":["type", "range"]
        }
    ],
    "required":["parameterID","type"]
}

Filter Schema

{
    "$id": "http://www.3ds.com/schemas/Filter/filter.json",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "Filter",
    "type": "object",
    "info": {
        "description": "JSON schema for filter object.",
        "version": "1.0",
        "title": "Filter JSON"
    },
    "oneOf":[
        {"allOf":[{
            "properties":{
                "@class":{"type":"string", "enum":["LogicalCondition"]}
            }
        },{"$ref":"http://www.3ds.com/schemas/Conditions/logicalCondition.json"}]},
        {"allOf":[{
            "properties":{
                "@class":{"type":"string", "enum":["ParametricCondition"]}
            }
        },{"$ref":"http://www.3ds.com/schemas/Conditions/parametricCondition.json"}]}
    ],
    "required":["@class"]
}
This schema references the following schema:

Filters Schema

{
    "$id": "http://www.3ds.com/schemas/Filter/filters.json",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "Filters",
    "type": "array",
    "info": {
        "description": "JSON schema for array of filters.",
        "version": "1.0",
        "title": "Filters JSON"
    },
    "items":{"$ref":"http://www.3ds.com/schemas/Filter/filter.json"}
}
This schema references the Filter Schema.

Remove Filters Schema

{
    "$id": "http://www.3ds.com/schemas/Filter/removeFilter.json",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "Filter",
    "type": "object",
    "info": {
        "description": "JSON schema for removing a filter object.",
        "version": "1.0",
        "title": "Remove Filter JSON"
    },
    "oneOf":[
        {"allOf":[{
            "properties":{
                "@class":{"type":"string", "enum":["LogicalCondition"]}
            }
        },{"$ref":"http://www.3ds.com/schemas/Conditions/logicalCondition.json"}]},
        {"allOf":[{
            "properties":{
                "@class":{"type":"string", "enum":["ParametricCondition"]}
            }
        },{"$ref":"#/definitions/simplifiedParametricCondition"}]}
    ],
    "definitions":{
        "simplifiedParametricCondition":{
            "additionalProperties":false,
            "properties":{
                "@class":{
                    "type":"string"
                },
                "parameterID":{
                    "type":"string"
                },
                "type":{
                    "type":"string"
                }
            },
            "required":["parameterID","type"]
        }
    },
    "required":["@class"]
}

This schema references the Logical Condition Schema.