There are ways to describe the OData API with a Swagger definition. In fact this is even used in the WRS documentation browser, where the documentation on domain service level is rendered with the Swagger doc pages. If you pay close attention you will even see that tehre is a URL in WIndchill that converts the OData to a Swagger/OpenAPI v2 service description.

This resource link (https://<server>/Windchill/netmarkets/html/wrs/odata-to-swagger.jsp?v=2&d=CADDocumentMgmt can also be used separately and the result will be the Swagger service description of the corresponding OData Domain and version in JSON format.
The generated OIpenAPIv2 service description has minor issues:
- it uses operationIds which are not unique. According to the spec operationIds are optional so you can fix it by removing them altogether.
- it doesn't include the name attribute for requestBody input params. According to the spec these are required but will be ignored. You can fix it by adding any name e.g. 'body' in the generated json.
I hope this answer is not too late - I thought it would be good to know....