sendgrid / sendgrid-oai

SendGrid's Open API specification for the v3 API
https://sendgrid.com
MIT License
43 stars 50 forks source link

OpenAPI interoperability issues #74

Open kevinchalet opened 3 years ago

kevinchalet commented 3 years ago

Hey,

I appreciate the effort put into providing OpenAPI documents, so thank you very much for that 👍 Sadly, client generation tools like AutoRest or Visual Studio are currently enable to process them due to interoperability issues:

image

image

As mentioned here by people way more comfortable with OpenAPI than I am, most of these issues seem to come from the fact the SendGrid OpenAPI document contains invalid "type": "null" nodes.

"default":[], while valid, also seems to cause issues with AutoRest.

Are you aware of these issues and do you plan to release an updated document at some point?

Thanks!

eshanholtz commented 3 years ago

This issue has been added to our internal backlog to be prioritized. Pull requests and +1s on the issue summary will help it move up the backlog.

rizcotech commented 3 years ago

Same issue

josephsofaer commented 3 years ago

Thanks @eshanholtz!

Echoing @kevinchalet, Thank you for publishing these specs. It's really nice to have them when working with the SendGrid API

I am seeing the type: null issue as well.

Also getting problems with the ref to /definitions/contactdb_segments:

Could not resolve reference: 
  Could not resolve pointer: /definitions/contactdb_segments does not exist in document

Looking at the spec on swaggerhub there are errors that show up in validation: https://app.swaggerhub.com/apis/retool/send-grid_v_3_api_documentation/v3.0#/Contacts/GET_marketing-contacts

Screen Shot 2021-02-10 at 2 38 38 PM

It would be awesome to keep the spec in this repository up to date with the latest spec. We noticed that the marketing/contacts endpoints were not here on Github but were in fact in the spec that is linked from the Spotlight page (https://sendgrid.api-docs.io/v3.0/contacts/add-or-update-a-contact) when clicking OAS at the top there. On Github we'll get to see changes more easily.

Best, Joseph