The problem lies in the same misunderstanding of the previous question. In the specification of the inspections you have:

 "inspections" : { 
            "type" : "array",
            "items" : {
                "type" : "object",
                "maxProperties": 1,
                "minProperties": 1,
                "additionalProperties" : {
                    "$ref" : "#/definitions/inspection"
                }
            }
        }

This means that inspections must be an array, and its items must be objects with a single property. That property must comply with #/definitions/inspection schema.

According to your current schema, inspections items should be like:

"inspections" : [{
        "anyKeyIsValidHere" : {
            "expected" : "MVA",
            "found" : 0.0,
            "inspection" : "Fascia",
            "location" : "rear_left",
            "state" : 0
        }
    }
]

Hence, in this case, reversely than in your previous question, your inspections item should simply be like this:

"inspections" : {
    "type" : "array",
    "items" : {
        "$ref" : "#/definitions/inspection"
    }
}

A final advice. Try to build the schemas step by step, ensuring that each desired constraint is properly enforced. That also helps to make more focused SO questions.

Answer from jruizaranguren on Stack Overflow
🌐
JSON Schema
json-schema.org › understanding-json-schema › reference › array
JSON Schema - array
Thus, you would reference my-tuple#closed when you need only two items and reference my-tuple#extended when you need three items. ... While the items schema must be valid for every item in the array, the contains schema only needs to validate against one or more items in the array. ... minContains and maxContains can be used with contains to further specify how many times a schema matches a contains constraint. These keywords can be any non-negative number including zero. ... The length of the array can be specified using the minItems and maxItems keywords.
🌐
JSON Schema
json-schema.org › learn › miscellaneous-examples
JSON Schema - Miscellaneous Examples
An array of objects. We also introduce the following with this example: ... items references the $defs/veggie definition, indicating that the items in the array should conform to the "veggie" schema defined in the $defs section.
🌐
JSON Schema
json-schema.org › understanding-json-schema › structuring
JSON Schema - Modular JSON Schema combination
The $ref keyword may be used to create recursive schemas that refer to themselves. For example, you might have a person schema that has an array of children, each of which are also person instances. ... { "type": "object", "properties": { "name": { "type": "string" }, "children": { "type": ...
🌐
Cswr
cswr.github.io › JsonSchema › spec › arrays
Arrays - JSON Schema
Here we show how to specify collections of JSON types using possibly nested JSON Schemas. Arrays are used to represent ordered sets of values, such as the following sequence of strings:
🌐
Opis
opis.io › json-schema › 2.x › references.html
JSON Schema references ($ref) | Opis JSON Schema
The value of this keyword must be a string const with value #. It behaves like $ref but the base URI is resolved dynamically using $recursiveAnchor keyword. ... { "$schema": "https://json-schema.org/draft/2019-09/schema", "$id": "https://example.com/tree", "$recursiveAnchor": true, "type": "object", "properties": { "data": true, "children": { "type": "array", "items": { "$recursiveRef": "#" } } } }
🌐
GitHub
github.com › RicoSuter › NJsonSchema › issues › 749
Unable to define array items by $ref according to draft4 · Issue #749 · RicoSuter/NJsonSchema
January 31, 2018 - I have a problem with define array item by $ref. Using Newtonsoft Json Schema I can write this code: { "title": "JSON Schema for entity metadata JSON file format", "definitions": { "arrayElement": { "type": "object", "properties": { "someProperty": { "type": "string" }, "someProperty1": { "$ref": "#/definitions/object1" } }, "object1": {...} } }, "type": "object", "properties": { "SomeArray": { "type": "array", "items": { "$ref": "#/definitions/arrayElement" } } } }
Author   matsa73
🌐
GitHub
github.com › ajv-validator › ajv › issues › 1652
JSON Schema containing array with item reference gives Typescript error: Type '"object"' is not assignable to type '"array" | undefined'. · Issue #1652 · ajv-validator/ajv
June 17, 2021 - /* eslint-disable no-console */ // eslint-disable-next-line node/no-missing-import import Ajv, { JSONSchemaType } from 'ajv/dist/2020'; import draft7MetaSchema from 'ajv/dist/refs/json-schema-draft-07.json'; const ajv = new Ajv(); ajv.addMetaSchema(draft7MetaSchema); const schema: JSONSchemaType<any> = { $schema: 'http://json-schema.org/draft-07/schema#', definitions: { person: { type: 'object', properties: { name: { type: 'string', nullable: false }, children: { type: 'array', minItems: 0, items: { $ref: '#/definitions/person' }, nullable: false } }, required: ['name'] } }, type: 'object', pr
Author   asnaseer-resilient
🌐
GitHub
github.com › epoberezkin › ajv › issues › 659
Validate array items by $ref · Issue #659 · ajv-validator/ajv
{ "$schema": "http://json-schema.org/draft-04/schema#", "id": "http://localhost:3030/fhir/Patient.schema.json", "allOf": [{ "description": "Demographics and other administrative information about an individual or animal receiving care or other health-related services.", "properties": { "name": { "description": "A name associated with the individual.", "type": "array", "items": { "$ref": "HumanName.schema.json" } } }, "required": ["name"] }] }
Find elsewhere
🌐
JSON Schema
json-schema.org › understanding-json-schema › reference › object
JSON Schema - object
The required keyword takes an array of zero or more strings. Each of these strings must be unique. ... In Draft 4, required must contain at least one string. In the following example schema defining a user record, we require that each user has a name and e-mail address, but we don't mind if they don't provide their address or telephone number: ... { "type": "object", "properties": { "name": { "type": "string" }, "email": { "type": "string" }, "address": { "type": "string" }, "telephone": { "type": "string" } }, "required": ["name", "email"]}
🌐
Json-schema
tour.json-schema.org › content › 01-Getting-Started › 06-Array-of-Objects
Array of Objects: Getting Started | A Tour of JSON Schema
1{ 2 "skills": { 3 "type": "array", 4 "items": { 5 "type": "object", 6 "properties": {...} 7 } 8 } 9} Now, try to modify the skills property in the schema given to you in the side editor, and make it an array of objects with name and level ...
🌐
Liquid Technologies
liquid-technologies.com › Reference › XmlStudio › JsonSchemaEditor_Property_AdditionalItems.html
Additional Items
In this example the schema is specified for the first 3 items in the array, additionally a schema is provided for any additional array items (note the [3-n] indicator). The first 3 objects in the instance array must validate against the corresponding schema, but any additional items must validate against the [3-n] schema.
🌐
Cswr
cswr.github.io › JsonSchema › spec › definitions_references
Definitions & References - JSON Schema
EVAL(J[n],JP), if JPointer is an ... case (for example when the pointer asks for a key that is not in J). The idea of a reference such as {"$ref": "#/definitions/person"} is to use the schema that is stored under the result of evaluating the pointer /definitions/person under ...
🌐
Google Groups
groups.google.com › g › json-schema › c › z34YqedG-1s
Array uniqueItems not able to describe object items with specific keys.
This schema says "there should be an array, which should validate both as an array of unique PersonNames, and as an array of not-necessarily-unique PersonChecks." Scroll down below this for a bit more commentary on what's going on here: ... : [ { "type": "array", "items": { "$ref": "#/definitions/PersonName" }, "uniqueItems": true }, { "type": "array", "items": {
🌐
Ajv
ajv.js.org › json-schema.html
JSON Schema | Ajv JSON schema validator
The value of the keyword should be an array of unique strings. The data object to be valid should contain all properties with names equal to the elements in the keyword value. ... The value of the keyword should be a map with keys equal to data ...
🌐
Gsu
tinman.cs.gsu.edu › ~raj › 8711 › sp21 › json › JSONSchema.html
JSON and JSON Schema
{ "$schema": "http://json-schema.org/draft-06/schema#", "definitions": { "address": { "type": "object", "properties": { "street_address": { "type": "string" }, "city": { "type": "string" }, "state": { "type": "string" } }, "required": ["street_address", "city", "state"] } }, "type": "object", "properties": { "billing_address": { "$ref": "#/definitions/address" }, "shipping_address": { "$ref": "#/definitions/address" } } } matches · { "shipping_address": { "street_address": "1600 Pennsylvania Avenue NW", "city": "Washington", "state": "DC" }, "billing_address": { "street_address": "1st Street
🌐
APIMatic
apimatic.io › openapi › array-of-objects
OpenAPI Array of Objects
In larger API definitions, you may end up with generic or similar class names like status1, status2, and inlineResponse200. Referencing an array of objects in OpenAPI involves defining an object schema separately as a component and referencing that component within an array definition.