Разница между oneOf и allOf в JSON Schema заключается в том, что они выполняют разные задачи:
  - oneOf используется, когда нужно, чтобы значение соответствовало точно одной из заданных схем.                                                                          docs.bump.sh                       Это полезно, когда у конкретного поля разные возможные структуры или типы данных.                                                                          docs.bump.sh                       Валидация пройдёт, если значение соответствует именно одной из схем, определённых в oneOf.                                                                          docs.bump.sh                      
- allOf используется, когда нужно указать, что значение должно соответствовать всем заданным схемам.                                                                          docs.bump.sh                       Полезно, если есть сложная структура и данные должны соответствовать нескольким критериям.                                                                          habr.com                       Валидация пройдёт, если значение соответствует всем схемам, определённым в allOf.                                                                          docs.bump.sh                      
Таким образом, oneOf применяется, когда важно, чтобы соответствовало только одно условие, а allOf — когда нужно, чтобы выполнялись все условия сразу.                                                                          habr.com