Thing Model

JSON Schema for validating Thing Models. This is automatically generated from the WoT TD Schema.

Get JSON SchemaBundle
Use with
$ jsonschema install https://schemas.sourcemeta.com/w3c/wot/v1.1/tm-json-schema-validation schemas/tm-json-schema-validation.json
$ref: "https://schemas.sourcemeta.com/w3c/wot/v1.1/tm-json-schema-validation"
import schema from "https://schemas.sourcemeta.com/w3c/wot/v1.1/tm-json-schema-validation" with { type: "json" };
Identifierhttps://schemas.sourcemeta.com/w3c/wot/v1.1/tm-json-schema-validation
Base DialectDraft7
Dialecthttp://json-schema.org/draft-07/schema#
Health
91%
Size0.045190 MB
Loading schema...

This schema declares 0 examples.

Loading...
Loading...

This schema has 59 quality errors.

/versionunknown_keywords_prefix

Future versions of JSON Schema will refuse to evaluate unknown keywords or custom keywords from optional vocabularies that don't have an x- prefix

/definitions/thing-context-td-uri-temporphan_definitions

Schema definitions in $defs or definitions that are never internally referenced can be removed

top_level_examples

Set a non-empty examples array at the top level of the schema to illustrate the expected data

/descriptiondescription_trailing_period

Descriptions should not end with a period to give user interfaces flexibility in presenting the text

/properties/@typesimple_properties_identifiers

Set properties to identifier names that can be easily mapped to programming languages (matching [A-Za-z_][A-Za-z0-9_]*)

/definitions/action_element/properties/@typesimple_properties_identifiers

Set properties to identifier names that can be easily mapped to programming languages (matching [A-Za-z_][A-Za-z0-9_]*)

/definitions/additionalSecurityScheme/descriptiondescription_trailing_period

Descriptions should not end with a period to give user interfaces flexibility in presenting the text

/definitions/additionalSecurityScheme/properties/@typesimple_properties_identifiers

Set properties to identifier names that can be easily mapped to programming languages (matching [A-Za-z_][A-Za-z0-9_]*)

/definitions/apiKeySecurityScheme/properties/@typesimple_properties_identifiers

Set properties to identifier names that can be easily mapped to programming languages (matching [A-Za-z_][A-Za-z0-9_]*)

/definitions/apiKeySecurityScheme/properties/scheme/anyOf/0/enumenum_to_const

An enum of a single value can be expressed as const

/definitions/autoSecurityScheme/properties/@typesimple_properties_identifiers

Set properties to identifier names that can be easily mapped to programming languages (matching [A-Za-z_][A-Za-z0-9_]*)

/definitions/autoSecurityScheme/not/required/0required_properties_in_properties

Every property listed in the required keyword must be explicitly defined using the properties keyword

/definitions/autoSecurityScheme/properties/scheme/anyOf/0/enumenum_to_const

An enum of a single value can be expressed as const

/definitions/basicSecurityScheme/properties/@typesimple_properties_identifiers

Set properties to identifier names that can be easily mapped to programming languages (matching [A-Za-z_][A-Za-z0-9_]*)

/definitions/basicSecurityScheme/properties/scheme/anyOf/0/enumenum_to_const

An enum of a single value can be expressed as const

/definitions/bearerSecurityScheme/properties/@typesimple_properties_identifiers

Set properties to identifier names that can be easily mapped to programming languages (matching [A-Za-z_][A-Za-z0-9_]*)

/definitions/bearerSecurityScheme/properties/scheme/anyOf/0/enumenum_to_const

An enum of a single value can be expressed as const

/definitions/comboSecurityScheme/oneOf/0/properties/@typesimple_properties_identifiers

Set properties to identifier names that can be easily mapped to programming languages (matching [A-Za-z_][A-Za-z0-9_]*)

/definitions/comboSecurityScheme/oneOf/0/properties/scheme/anyOf/0/enumenum_to_const

An enum of a single value can be expressed as const

/definitions/comboSecurityScheme/oneOf/1/properties/@typesimple_properties_identifiers

Set properties to identifier names that can be easily mapped to programming languages (matching [A-Za-z_][A-Za-z0-9_]*)

/definitions/comboSecurityScheme/oneOf/1/properties/scheme/anyOf/0/enumenum_to_const

An enum of a single value can be expressed as const

/definitions/dataSchema/properties/@typesimple_properties_identifiers

Set properties to identifier names that can be easily mapped to programming languages (matching [A-Za-z_][A-Za-z0-9_]*)

/definitions/dataSchema/properties/constempty_object_as_true

The empty schema {} accepts all values and is equivalent to the boolean schema true

/definitions/dataSchema/properties/defaultempty_object_as_true

The empty schema {} accepts all values and is equivalent to the boolean schema true

/definitions/digestSecurityScheme/properties/@typesimple_properties_identifiers

Set properties to identifier names that can be easily mapped to programming languages (matching [A-Za-z_][A-Za-z0-9_]*)

/definitions/digestSecurityScheme/properties/scheme/anyOf/0/enumenum_to_const

An enum of a single value can be expressed as const

/definitions/event_element/properties/@typesimple_properties_identifiers

Set properties to identifier names that can be easily mapped to programming languages (matching [A-Za-z_][A-Za-z0-9_]*)

/definitions/form_element_action/properties/tm:refsimple_properties_identifiers

Set properties to identifier names that can be easily mapped to programming languages (matching [A-Za-z_][A-Za-z0-9_]*)

/definitions/form_element_action/properties/op/oneOfoneof_to_anyof_disjoint_types

A oneOf where all branches have disjoint types can be safely converted to anyOf

/definitions/form_element_base/properties/op/oneOfoneof_to_anyof_disjoint_types

A oneOf where all branches have disjoint types can be safely converted to anyOf

/definitions/form_element_event/properties/tm:refsimple_properties_identifiers

Set properties to identifier names that can be easily mapped to programming languages (matching [A-Za-z_][A-Za-z0-9_]*)

/definitions/form_element_event/properties/op/oneOfoneof_to_anyof_disjoint_types

A oneOf where all branches have disjoint types can be safely converted to anyOf

/definitions/form_element_property/properties/tm:refsimple_properties_identifiers

Set properties to identifier names that can be easily mapped to programming languages (matching [A-Za-z_][A-Za-z0-9_]*)

/definitions/form_element_property/properties/op/oneOfoneof_to_anyof_disjoint_types

A oneOf where all branches have disjoint types can be safely converted to anyOf

/definitions/form_element_root/properties/tm:refsimple_properties_identifiers

Set properties to identifier names that can be easily mapped to programming languages (matching [A-Za-z_][A-Za-z0-9_]*)

/definitions/form_element_root/properties/op/oneOfoneof_to_anyof_disjoint_types

A oneOf where all branches have disjoint types can be safely converted to anyOf

/definitions/icon_link_element/allOf/1/requiredunnecessary_allof_wrapper

Keywords inside allOf that do not conflict with the parent schema can be elevated

/definitions/link_element/allOf/1/not/properties/sizesempty_object_as_true

The empty schema {} accepts all values and is equivalent to the boolean schema true

/definitions/link_element/allOf/2/not/properties/rel/anyOf/0/enumenum_to_const

An enum of a single value can be expressed as const

/definitions/noSecurityScheme/properties/@typesimple_properties_identifiers

Set properties to identifier names that can be easily mapped to programming languages (matching [A-Za-z_][A-Za-z0-9_]*)

/definitions/noSecurityScheme/properties/scheme/anyOf/0/enumenum_to_const

An enum of a single value can be expressed as const

/definitions/oAuth2SecurityScheme/properties/@typesimple_properties_identifiers

Set properties to identifier names that can be easily mapped to programming languages (matching [A-Za-z_][A-Za-z0-9_]*)

/definitions/oAuth2SecurityScheme/properties/scheme/anyOf/0/enumenum_to_const

An enum of a single value can be expressed as const

/definitions/oAuth2SecurityScheme/properties/scopes/oneOfoneof_to_anyof_disjoint_types

A oneOf where all branches have disjoint types can be safely converted to anyOf

/definitions/property_element/properties/@typesimple_properties_identifiers

Set properties to identifier names that can be easily mapped to programming languages (matching [A-Za-z_][A-Za-z0-9_]*)

/definitions/property_element/properties/constempty_object_as_true

The empty schema {} accepts all values and is equivalent to the boolean schema true

/definitions/property_element/properties/defaultempty_object_as_true

The empty schema {} accepts all values and is equivalent to the boolean schema true

/definitions/pskSecurityScheme/properties/@typesimple_properties_identifiers

Set properties to identifier names that can be easily mapped to programming languages (matching [A-Za-z_][A-Za-z0-9_]*)

/definitions/pskSecurityScheme/properties/scheme/anyOf/0/enumenum_to_const

An enum of a single value can be expressed as const

/definitions/scopes/oneOfoneof_to_anyof_disjoint_types

A oneOf where all branches have disjoint types can be safely converted to anyOf

/definitions/security/oneOfoneof_to_anyof_disjoint_types

A oneOf where all branches have disjoint types can be safely converted to anyOf

/definitions/thing-context-td-uri-temp/constconst_with_type

Setting type alongside const is considered an anti-pattern, as the constant already implies its respective type

/definitions/thing-context-td-uri-v1/constconst_with_type

Setting type alongside const is considered an anti-pattern, as the constant already implies its respective type

/definitions/thing-context-td-uri-v1.1/constconst_with_type

Setting type alongside const is considered an anti-pattern, as the constant already implies its respective type

/definitions/tm_optional/items/allOf/1/notunnecessary_allof_wrapper

Keywords inside allOf that do not conflict with the parent schema can be elevated

/definitions/tm_type_declaration/oneOfoneof_to_anyof_disjoint_types

A oneOf where all branches have disjoint types can be safely converted to anyOf

/definitions/tm_type_declaration/oneOf/0/constconst_with_type

Setting type alongside const is considered an anti-pattern, as the constant already implies its respective type

/definitions/type_declaration/oneOfoneof_to_anyof_disjoint_types

A oneOf where all branches have disjoint types can be safely converted to anyOf

/properties/security/oneOfoneof_to_anyof_disjoint_types

A oneOf where all branches have disjoint types can be safely converted to anyOf