{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://2timer.app/omd/schemas/probe-reply-v1.schema.json",
	"title": "Open Meet Display probe reply, version 1",
	"description": "What a receiver answers, with 200, to a GET on the URL it takes messages on: the versions it reads and who it is. The same reply an Open Meet Exchange Publisher may give, plus optional display targets. Every object allows additional properties; a later minor version only adds fields.",
	"type": "object",
	"required": ["accepts", "generator"],
	"properties": {
		"accepts": {
			"type": "array",
			"minItems": 1,
			"items": { "type": "string", "pattern": "^\\d+\\.\\d+$" },
			"description": "MAJOR.MINOR versions the receiver reads. 1.0 reads 1.0 and every later 1.x."
		},
		"generator": {
			"type": "object",
			"description": "The product that wrote this reply.",
			"required": ["id", "name"],
			"properties": {
				"id": {
					"type": "string",
					"minLength": 1,
					"description": "A short name the product picks for itself, once, and never changes."
				},
				"name": { "type": "string", "minLength": 1, "description": "The product's name." },
				"version": { "type": ["string", "null"], "description": "The product's version." }
			}
		},
		"targets": {
			"type": "array",
			"items": { "type": "string", "minLength": 1 },
			"description": "display.target names the receiver understands. It may take others."
		}
	}
}
