sailpoint-oss / api-specs

This repo houses the API specifications for all SailPoint services.
MIT License
10 stars 17 forks source link

SailPoint IIQ API Specification invalid #48

Open yilmi opened 9 months ago

yilmi commented 9 months ago

The current SailPoint IIQ Specification doesn't follow the OpenAPI Specification. As such, it can't be used to generate clients using the OpenAPI Generator CLI or the Swagger CodeGen CLI.

I went through the different validation errors to fix the specification and to generate a valid client for my use cases.

I assumed SailPoint was taking an API first approach and started preparing a version of the specification that works to submit it as a pull request - https://github.com/thomsonreuters/sailpoint-api-specs/blob/sailpoint-iiq-spec-fix/iiq/sailpoint-api.iiq.yaml

But reading your readme after, I understand these specification are generated automatically from code and not the opposite.

The OpenAPI Specification describes this requirement here - https://spec.openapis.org/oas/v3.0.3#properties

items - Value MUST be an object and not an array. Inline or referenced schema MUST be of a Schema Object and not a standard JSON Schema. items MUST be present if the type is array.

Could you regenerate a specification that passes the validation from the openapi-generator and Swagger CodeGen tool?

colin-mckibben-sp commented 9 months ago

Hi @yilmi . You are correct that we do not accept direct contributions to our API specs as they are maintained internally. However, can you open a PR with your changes so we can see the exact modifications you made? This will help us know what to fix.

yilmi commented 9 months ago

Hi @colin-mckibben-sp - sorry for the delay, I opened a PR #49 - the issue is that the file I had also contains a lot of other changes coming from a yaml linter I ran.

I'll share a version that only has the meaningful changes next week

yilmi commented 8 months ago

Hey @colin-mckibben-sp, I found some time to update the PR, you should only see relevant changes now, I separated components validation fixes and paths validation fixes in two separate commits. Thanks!