{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://citefacts.com/schemas/recall-match-request-v1.json",
  "title": "CiteFacts product-to-recall batch request v1",
  "type": "object",
  "additionalProperties": false,
  "required": ["schema_version", "items"],
  "properties": {
    "schema_version": {"const": "1.0.0"},
    "items": {
      "type": "array",
      "minItems": 1,
      "maxItems": 50,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": ["id"],
        "properties": {
          "id": {"type": "string", "minLength": 1, "maxLength": 100},
          "description": {"type": "string", "maxLength": 500},
          "model": {"type": "string", "maxLength": 100},
          "upc": {"type": "string", "maxLength": 50}
        },
        "description": "At least one non-empty description, model, or upc is required semantically. Rows that fail that rule are returned as invalid_input without failing other rows."
      }
    }
  }
}
