oneOf, anyOf, and allOf, you can describe APIs that handle different input types or combine multiple schemas into comprehensive data models.
oneOf, anyOf, allOf keywords
For complex data types, OpenAPI provides keywords for combining schemas:
allOf: Combines multiple schemas (like merging objects or extending a base schema). Functions like anandoperator.anyOf: Accepts data matching any of the provided schemas. Functions like anoroperator.oneOf: Accepts data matching exactly one of the provided schemas. Functions like anexclusive-oroperator.
Mintlify treats
oneOf and anyOf identically since the practical difference rarely affects using the API.The
not keyword is currently unsupported.Combining schemas with allOf
When you use allOf, Mintlify performs some preprocessing on your OpenAPI document to display complex combinations in a readable way. For example, when you combine two object schemas with allOf, Mintlify combines the properties of both into a single object. This becomes especially useful when leveraging OpenAPI’s reusable components.
Providing options with oneOf and anyOf
When you use oneOf or anyOf, the options are displayed in a tabbed container. Specify a title field in each subschema to give your options names. For example, here’s how you might display two different types of delivery addresses: