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.