Skip to content

confusion with schema references in the spec and on the website #4817

@karenetheridge

Description

@karenetheridge

https://spec.openapis.org/oas/latest#dialect-schema-id (as of this date, mapping to v3.1.1) references the schema URL https://spec.openapis.org/oas/3.1/dialect/base. This URL does actually resolve, and produces a json schema document with that URL as its $id.

However, my understanding is that the latest version of the dialect schema is in fact https://spec.openapis.org/oas/3.1/dialect/2024-10-25. At the moment these files are semantically equivalent, but this could change over time. We should be clear about which document is canonical, and update all references to it in documents we consider "current". (We shouldn't delete the files from the website entirely, as some implementations may still be using them. It might be useful to get some download stats?)

Further, the spec makes no mention of the schema used to describe the OAD itself, which (I believe) is currently https://spec.openapis.org/oas/3.1/schema/2024-11-14. There are no links to this document (or the dialect schema) on the website anywhere else that I can see either.

We should clearly mention in the spec the URLs of all four of the schemas used by the specification, which are:

This would be sufficient given that the link to the specification itself is quite prominent on the website, and I think it would be unlikely that we would revise these schemas in between spec releases (indeed, such a revision would merit a point release of the spec).

There might be some tooling that can help with keeping the dates in sync -- for example using the same placeholders in the spec document as in the schema files itself, and then all files are updated at once when performing the spec-publish action (which I hope is separate from the web-publish action, as we ought to have a copy of the published spec actually in the spec repository, not just in the website).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions