From 1c1f808cb25c53e39eae5143c9b8a3272885c4ec Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Thu, 2 Jul 2026 13:51:22 -0400 Subject: [PATCH 1/2] docs: add x-jsonschema-maxContains extension page Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../_extension/x-jsonschema-maxContains.md | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 registries/_extension/x-jsonschema-maxContains.md diff --git a/registries/_extension/x-jsonschema-maxContains.md b/registries/_extension/x-jsonschema-maxContains.md new file mode 100644 index 0000000..0715d9a --- /dev/null +++ b/registries/_extension/x-jsonschema-maxContains.md @@ -0,0 +1,43 @@ +--- +owner: mikekistler +issue: +description: The maximum number of array elements that may match contains, used when targeting OpenAPI versions that do not directly support maxContains. +schema: + type: integer + minimum: 0 +objects: [ "Schema Object" ] +layout: default +--- + +{% capture summary %} +JSON Schema defines the `maxContains` keyword to set the maximum number of array elements that may match `contains`. + +The `x-jsonschema-maxContains` extension mirrors this JSON Schema keyword when targeting OpenAPI versions where the keyword is not directly available, serializing it as `x-jsonschema-maxContains`. + +It can appear as a property in the following objects: `{{page.objects|jsonify}}`. + +Used by: (informational) + +* [Microsoft.OpenApi](https://github.com/microsoft/OpenAPI.NET) (.NET OpenAPI library) +{% endcapture %} + +{% capture example %} +```yaml +openapi: 3.0.4 +info: + title: My API + version: 1.0.0 +paths: {} +components: + schemas: + Roles: + type: array + items: + type: string + x-jsonschema-contains: + const: admin + x-jsonschema-maxContains: 1 +``` +{% endcapture %} + +{% include extension-entry.md summary=summary example=example %} From 9056b6214c949a59970204e809f0892062dcbc43 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Thu, 2 Jul 2026 13:55:43 -0400 Subject: [PATCH 2/2] docs: update owner for x-jsonschema-maxContains extension page --- registries/_extension/x-jsonschema-maxContains.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/registries/_extension/x-jsonschema-maxContains.md b/registries/_extension/x-jsonschema-maxContains.md index 0715d9a..257e8a9 100644 --- a/registries/_extension/x-jsonschema-maxContains.md +++ b/registries/_extension/x-jsonschema-maxContains.md @@ -1,5 +1,5 @@ --- -owner: mikekistler +owner: baywet issue: description: The maximum number of array elements that may match contains, used when targeting OpenAPI versions that do not directly support maxContains. schema: