Currently, neither [cebe/php-openapi](https://github.com/cebe/php-openapi) nor [devizzent/cebe-php-openapi](https://github.com/DEVizzent/cebe-php-openapi) are capable of supporting the additional vocabulary for applying subschemas in 3.1. The issue here is these keywords are not recognised. They do not invalidate, but simply remain as raw data, without being converted to Schema objects. I've made a PR to try and fix this https://github.com/DEVizzent/cebe-php-openapi/pull/26 Alternatives: - Remove dependency and parse openapi independently - Forcefully convert the raw data into Cebe Schema objects, then into Membrane objects Again, the former is cleaner, the latter is quicker.