OASIS OData TC: Tools for producing API descriptions for OData services that adhere to the OpenAPI Specification
Switch branches/tags
Nothing to show
Clone or download
Failed to load latest commit information.
tools Path items for single-valued navigation properties Nov 15, 2018
LICENSE.md Create LICENSE.md boilerplate Nov 17, 2016
README.md Updated link to committee note Jul 4, 2018



Members of the OASIS Open Data Protocol (OData) Technical Committee create and manage technical content in this TC GitHub repository ( https://github.com/oasis-tcs/odata-openapi ) as part of the TC's chartered work (i.e., the program of work and deliverables described in its charter).

OASIS TC GitHub repositories, as described in GitHub Repositories for OASIS TC Members' Chartered Work, are governed by the OASIS TC Process, IPR Policy, and other policies, similar to TC Wikis, TC JIRA issues tracking instances, TC SVN/Subversion repositories, etc. While they make use of public GitHub repositories, these TC GitHub repositories are distinct from OASIS Open Repositories, which are used for development of open source licensed content.


The purpose of this repository is to support development of tools for producing OpenAPI descriptions for OData services.

Planned work items include:

  • XSLT transformation from OData CSDL XML to OpenAPI JSON
  • example XML files
  • example openapi.json files
  • example files for the live odata.org services


As stated in this repository's CONTRIBUTING file, contributors to this repository are expected to be Members of the OASIS OData TC, for any substantive change requests. Anyone wishing to contribute to this GitHub project and participate in the TC's technical activity is invited to join as an OASIS TC Member. Public feedback is also accepted, subject to the terms of the OASIS Feedback License.


Please see the LICENSE file for description of the license terms and OASIS policies applicable to the TC's work in this GitHub project. Content in this repository is intended to be part of the OData TC's permanent record of activity, visible and freely available for all to use, subject to applicable OASIS policies, as presented in the repository LICENSE file.

Further Description of this Repository

The OData TC has published the OData to OpenAPI Mapping Version 1.0, a recommendation on how to create OpenAPI descriptions for OData services. This project is a proof-of-concept implementation of that mapping using XSLT.

The examples folder contains OpenAPI/Swagger 2.0 and OpenAPI 3.0.0 descriptions that have been created from the XML $metadata documents of live and example OData services with the V4-CSDL-to-OpenAPI.xsl transformation in the tools folder.

The entity-relationship diagrams visualizing the resource models of each service are generated on-the-fly with yUML.

OpenAPI descriptions for live example OData services at www.odata.org

OpenAPI descriptions for OData services that reference each other (cross-service references)


Please send questions or comments about OASIS TC GitHub repositories to Robin Cover and Chet Ensign. For questions about content in this repository, please contact the TC Chair or Co-Chairs as listed on the the OData TC's home page.