cancel
Showing results forย 
Search instead forย 
Did you mean:ย 

Invalid Swagger Spec Message When Publishing API Version

jsmith141
New Contributor III

Good Morning,

I am attempting to to publish a simple test API that is built from a triggered task. When I go to publish version 1.0 in API Manager I get the following message, โ€œInvalid Content. Upload a valid Swagger specification.โ€. There is a built-in specification editor that I am using just to the left of the โ€œChoose Fileโ€ button in the Publish Version pop up window and it does not show any errors in the swagger specification I am uploading.

image

At this point, I am at a loss as to what might be wrong/missing in the specification file to generate that message. Any guidance on this issue would be greatly appreciated.

Thanks,
James

7 REPLIES 7

cjhoward18
Employee
Employee

Is it a valid Swagger 2.0 Specification? Currently, we support 2.0 specifications to be published and not 3.0. However, the editor will parse a swagger 3.0 with no errors.

If that doesnโ€™t fix the issue, can you share your swagger specification here?

jsmith141
New Contributor III

It should be Swagger 2.0. Here is the specification file. I have changed โ€œbasePathโ€ to share on community

james_pipeline_to_api_spec.txt (3.5 KB)

Okay, I have identified the issue with the specification provided.

Let me explain in a few steps:

one the validate call to validate your specification shows the error:
Screen Shot 2021-12-22 at 9.15.39 AM

From there you can see the type of your parameter putId is a string however it has a items field describing it as an array, and the default is not a string. So, this is mixing the type of a string with the definition of an array type.

I modified your specification only to change the type of the mentioned parameter to an array instead of a string.

If you would like it to be a string then the definition should not include the items description.

here is the modified spec that is now validating successfully for me after changing the type:

paramsTypeToArray.txt (3.5 KB)

j_angelevski
Contributor III

Hi @jsmith141 ,

Do you have, by any chance, in the schemes an empty array element ?
image

If so, edit your file in the editor provided by SL and remove that line under schemes. For some reason, this happens when you generate a .yaml file for the project that you are creating the API and that exact error is triggered when trying to publish the API.