{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "PlaneQuery Aircraft Community Submission (v1)", "type": "object", "additionalProperties": false, "properties": { "registration_number": { "type": "string", "minLength": 1 }, "transponder_code_hex": { "type": "string", "pattern": "^[0-9A-Fa-f]{6}$" }, "planequery_airframe_id": { "type": "string", "minLength": 1 }, "contributor_uuid": { "type": "string", "format": "uuid" }, "contributor_name": { "type": "string", "minLength": 0, "maxLength": 150, "description": "Display name (may be blank)" }, "creation_timestamp": { "type": "string", "format": "date-time", "description": "Set by the system when the submission is persisted/approved.", "readOnly": true }, "tags": { "type": "object", "description": "Additional community-defined tags as key/value pairs (values may be scalar, array, or object).", "propertyNames": { "type": "string", "pattern": "^[a-z][a-z0-9_]{0,63}$" }, "additionalProperties": { "$ref": "#/$defs/tagValue" } } }, "allOf": [ { "anyOf": [ { "required": ["registration_number"] }, { "required": ["transponder_code_hex"] }, { "required": ["planequery_airframe_id"] } ] } ], "$defs": { "tagScalar": { "type": ["string", "number", "integer", "boolean", "null"] }, "tagValue": { "anyOf": [ { "$ref": "#/$defs/tagScalar" }, { "type": "array", "maxItems": 50, "items": { "$ref": "#/$defs/tagScalar" } }, { "type": "object", "maxProperties": 50, "additionalProperties": { "$ref": "#/$defs/tagScalar" } } ] } } }