OptionalcontentContent media type restriction.
If you want to accept multiple contentMediaType values simultaneously
(e.g., text/plain and text/html), you MUST NOT violate the type by
using an array. Instead, use oneOf to define multiple string
schemas with different contentMediaType values.
Example for accepting both text/plain and text/html:
{
"oneOf": [
{ "type": "string", "contentMediaType": "text/plain" },
{ "type": "string", "contentMediaType": "text/html" }
]
}
This is the CORRECT approach. Never use array notation or modify the single string type to accept arrays.
OptionalformatFormat restriction.
OptionalmaxMaximum length restriction.
OptionalminMinimum length restriction.
OptionalpatternPattern restriction.
Discriminator value of the type.
CRITICAL: This MUST be a SINGLE string value, NOT an array. The type field identifies the JSON Schema type and must be exactly one of: "boolean", "integer", "number", "string", "array", "object", or "null".
❌ INCORRECT: type: ["string", "null"] // This is WRONG! ✅ CORRECT: type: "string" // For nullable string, use oneOf instead
If you need to express a nullable type (e.g., string | null), you MUST
use the IOneOf structure:
{
"oneOf": [{ "type": "string" }, { "type": "null" }]
}
NEVER use array notation in the type field. The type field is a discriminator that accepts only a single string value.
String type info.