Skip to content

docs: add OpenAPI.NET $ref siblings guidance#168

Merged
baywet merged 1 commit into
MicrosoftDocs:mainfrom
aqeelat:feat/ref-siblings-docs
Jul 15, 2026
Merged

docs: add OpenAPI.NET $ref siblings guidance#168
baywet merged 1 commit into
MicrosoftDocs:mainfrom
aqeelat:feat/ref-siblings-docs

Conversation

@aqeelat

@aqeelat aqeelat commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Summary

Documents OpenAPI.NET behavior for OpenAPI 3.1 $ref schema siblings and $dynamicRef resolution.

$ref siblings section

  • OpenAPI 3.0 ignores schema properties next to $ref; 3.1 allows JSON Schema sibling keywords
  • OpenAPI.NET preserves sibling values on JsonSchemaReference
  • OpenApiSchemaReference.Target returns the resolved target schema
  • Convenience properties return the local reference value first, falling back to target when absent
  • JSON Schema assertion siblings are evaluated alongside the referenced schema, not as replacements
  • Version note: sibling preservation added in 3.8.0 / 2.10.0

$dynamicRef section updates

  • Replaced "not currently implemented" with the actual resolution model (document-scoped $dynamicAnchor and $anchor registries)
  • Noted ResolveDynamicAnchorInContext for multi-candidate resolution
  • Version note: $dynamicRef resolution (including cross-document relative URIs) added in 3.9.0 / 2.11.0

Related

@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Learn Build status updates of commit 529f756:

✅ Validation status: passed

File Status Preview URL Details
OpenAPI/OpenAPI.NET/references-openapi.md ✅Succeeded

For more details, please refer to the build report.

@aqeelat

aqeelat commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

Updated and rebased on main (includes #167). Ready for review.

Changes:

  • Merged main (includes external anchors + relative IDs from feat: adds support for external anchor and relative id #167)
  • Updated the / section: removed "not currently implemented", now describes actual resolution model (document-scoped registry, IsDynamicRefOnly, ResolveDynamicAnchorInContext)
  • Updated version notes to include 3.10.0 for cross-document relative URI resolution

@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Learn Build status updates of commit 73a7e9b:

✅ Validation status: passed

File Status Preview URL Details
OpenAPI/OpenAPI.NET/references-openapi.md ✅Succeeded

For more details, please refer to the build report.

- Add section explaining $ref sibling behavior in OpenAPI 3.1 vs 3.0
- Document OpenApiSchemaReference.Target and Reference access patterns
- Update $dynamicRef section: resolution now implemented
- Note $anchor fallback alongside $dynamicAnchor resolution
- Add version notes (siblings: 3.8.0/2.10.0, dynamicRef: 3.9.0/2.11.0)

Follow-up to #167
@aqeelat aqeelat force-pushed the feat/ref-siblings-docs branch from 73a7e9b to 60f8b4b Compare July 15, 2026 17:51
@aqeelat aqeelat marked this pull request as ready for review July 15, 2026 17:51
@aqeelat aqeelat requested a review from a team as a code owner July 15, 2026 17:51
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Learn Build status updates of commit 60f8b4b:

✅ Validation status: passed

File Status Preview URL Details
OpenAPI/OpenAPI.NET/references-openapi.md ✅Succeeded

For more details, please refer to the build report.

@baywet baywet left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the contribution!

@github-project-automation github-project-automation Bot moved this to In Progress 🚧 in Kiota Jul 15, 2026
@baywet baywet merged commit d9718c9 into MicrosoftDocs:main Jul 15, 2026
3 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress 🚧 to Done ✔️ in Kiota Jul 15, 2026
@aqeelat aqeelat deleted the feat/ref-siblings-docs branch July 15, 2026 18:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants