Loopback-next: IBM API Connect fails with openapi v3 schema

Created on 17 Nov 2018  路  3Comments  路  Source: strongloop/loopback-next

Description / Steps to reproduce / Feature proposal

(using todo example)

  • Successfully import loopback generated openapi.json (or converted yaml) into IBM Api Connect
  • Attempt to publish managed API

Current Behavior

  • App routes are recognised
  • Publishing fails due to version conflict (expecting swagger v2 schema). Input openapi.json & Error output below.

openapi.json

{
  "openapi": "3.0.0",
  "info": {
    "title": "LoopBack Application",
    "version": "1.0.0"
  },
  "paths": {
    "/todos/{id}": {
      "put": {
        "x-controller-name": "TodoController",
        "x-operation-name": "replaceTodo",
        "tags": [
          "TodoController"
        ],
        "responses": {
          "204": {
            "description": "Todo PUT success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Todo"
              }
            }
          },
          "x-parameter-index": 1
        }
      },
      "patch": {
        "x-controller-name": "TodoController",
        "x-operation-name": "updateTodo",
        "tags": [
          "TodoController"
        ],
        "responses": {
          "204": {
            "description": "Todo PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Todo"
              }
            }
          },
          "x-parameter-index": 1
        }
      },
      "get": {
        "x-controller-name": "TodoController",
        "x-operation-name": "findTodoById",
        "tags": [
          "TodoController"
        ],
        "responses": {
          "200": {
            "description": "Todo model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Todo"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "items",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      },
      "delete": {
        "x-controller-name": "TodoController",
        "x-operation-name": "deleteTodo",
        "tags": [
          "TodoController"
        ],
        "responses": {
          "204": {
            "description": "Todo DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      }
    },
    "/todos": {
      "post": {
        "x-controller-name": "TodoController",
        "x-operation-name": "createTodo",
        "tags": [
          "TodoController"
        ],
        "responses": {
          "200": {
            "description": "Todo model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Todo"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Todo"
              }
            }
          }
        }
      },
      "get": {
        "x-controller-name": "TodoController",
        "x-operation-name": "findTodos",
        "tags": [
          "TodoController"
        ],
        "responses": {
          "200": {
            "description": "Array of Todo model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Todo"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "properties": {
                "where": {
                  "type": "object"
                },
                "fields": {
                  "type": "object"
                },
                "offset": {
                  "type": "integer",
                  "minimum": 0
                },
                "limit": {
                  "type": "integer",
                  "minimum": 0
                },
                "skip": {
                  "type": "integer",
                  "minimum": 0
                },
                "order": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "type": "object"
            }
          }
        ]
      }
    }
  },
  "servers": [
    {
      "url": "https://lb4.eu-gb.mybluemix.net"
    }
  ],
  "components": {
    "schemas": {
      "Todo": {
        "title": "Todo",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "desc": {
            "type": "string"
          },
          "isComplete": {
            "type": "boolean"
          },
          "remindAtAddress": {
            "type": "string"
          },
          "remindAtGeo": {
            "type": "string"
          }
        },
        "required": [
          "title"
        ]
      }
    }
  }
}

Error

The input swagger API lb4:1.1 is not valid against the Swagger V2.0 schema. See additional messages for more information.
Message: "Missing required property: swagger", DataPath: "", SchemaPath: "/required/0"

Message: "Additional properties not allowed", DataPath: "/openapi", SchemaPath: "/additionalProperties"

Message: "Data does not match any schemas from "oneOf"", DataPath: "/paths/~1todos~1{id}/put/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~1/properties/put/properties/parameters/items/oneOf"

Message: "Data does not match any schemas from "oneOf"", DataPath: "/paths/~01todos~01{id}/put/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~01/properties/put/properties/parameters/items/oneOf/0/oneOf"

Message: "No enum match for: "path"", DataPath: "/paths/~001todos~001{id}/put/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~001/properties/put/properties/parameters/items/oneOf/0/oneOf/0/properties/in/type"

Message: "Missing required property: type", DataPath: "/paths/~001todos~001{id}/put/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~001/properties/put/properties/parameters/items/oneOf/0/oneOf/1/required/2"

Message: "Data does not match any schemas from "oneOf"", DataPath: "/paths/~001todos~001{id}/put/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~001/properties/put/properties/parameters/items/oneOf/0/oneOf/1/oneOf"

Message: "No enum match for: "path"", DataPath: "/paths/~0001todos~0001{id}/put/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/put/properties/parameters/items/oneOf/0/oneOf/1/oneOf/0/properties/in/type"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos~0001{id}/put/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/put/properties/parameters/items/oneOf/0/oneOf/1/oneOf/0/additionalProperties"

Message: "No enum match for: "path"", DataPath: "/paths/~0001todos~0001{id}/put/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/put/properties/parameters/items/oneOf/0/oneOf/1/oneOf/1/properties/in/type"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos~0001{id}/put/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/put/properties/parameters/items/oneOf/0/oneOf/1/oneOf/1/additionalProperties"

Message: "No enum match for: "path"", DataPath: "/paths/~0001todos~0001{id}/put/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/put/properties/parameters/items/oneOf/0/oneOf/1/oneOf/2/properties/in/type"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos~0001{id}/put/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/put/properties/parameters/items/oneOf/0/oneOf/1/oneOf/2/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos~0001{id}/put/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/put/properties/parameters/items/oneOf/0/oneOf/1/oneOf/3/additionalProperties"

Message: "Missing required property: $ref", DataPath: "/paths/~01todos~01{id}/put/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~01/properties/put/properties/parameters/items/oneOf/1/required/0"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/put/parameters/0/name", SchemaPath: "/properties/paths/patternProperties/^~01/properties/put/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/put/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~01/properties/put/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/put/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~01/properties/put/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/put/parameters/0/required", SchemaPath: "/properties/paths/patternProperties/^~01/properties/put/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~1todos~1{id}/put/requestBody", SchemaPath: "/properties/paths/patternProperties/^~1/properties/put/additionalProperties"

Message: "Data does not match any schemas from "oneOf"", DataPath: "/paths/~1todos~1{id}/patch/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~1/properties/patch/properties/parameters/items/oneOf"

Message: "Data does not match any schemas from "oneOf"", DataPath: "/paths/~01todos~01{id}/patch/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~01/properties/patch/properties/parameters/items/oneOf/0/oneOf"

Message: "No enum match for: "path"", DataPath: "/paths/~001todos~001{id}/patch/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~001/properties/patch/properties/parameters/items/oneOf/0/oneOf/0/properties/in/type"

Message: "Missing required property: type", DataPath: "/paths/~001todos~001{id}/patch/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~001/properties/patch/properties/parameters/items/oneOf/0/oneOf/1/required/2"

Message: "Data does not match any schemas from "oneOf"", DataPath: "/paths/~001todos~001{id}/patch/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~001/properties/patch/properties/parameters/items/oneOf/0/oneOf/1/oneOf"

Message: "No enum match for: "path"", DataPath: "/paths/~0001todos~0001{id}/patch/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/patch/properties/parameters/items/oneOf/0/oneOf/1/oneOf/0/properties/in/type"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos~0001{id}/patch/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/patch/properties/parameters/items/oneOf/0/oneOf/1/oneOf/0/additionalProperties"

Message: "No enum match for: "path"", DataPath: "/paths/~0001todos~0001{id}/patch/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/patch/properties/parameters/items/oneOf/0/oneOf/1/oneOf/1/properties/in/type"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos~0001{id}/patch/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/patch/properties/parameters/items/oneOf/0/oneOf/1/oneOf/1/additionalProperties"

Message: "No enum match for: "path"", DataPath: "/paths/~0001todos~0001{id}/patch/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/patch/properties/parameters/items/oneOf/0/oneOf/1/oneOf/2/properties/in/type"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos~0001{id}/patch/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/patch/properties/parameters/items/oneOf/0/oneOf/1/oneOf/2/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos~0001{id}/patch/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/patch/properties/parameters/items/oneOf/0/oneOf/1/oneOf/3/additionalProperties"

Message: "Missing required property: $ref", DataPath: "/paths/~01todos~01{id}/patch/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~01/properties/patch/properties/parameters/items/oneOf/1/required/0"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/patch/parameters/0/name", SchemaPath: "/properties/paths/patternProperties/^~01/properties/patch/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/patch/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~01/properties/patch/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/patch/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~01/properties/patch/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/patch/parameters/0/required", SchemaPath: "/properties/paths/patternProperties/^~01/properties/patch/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~1todos~1{id}/patch/requestBody", SchemaPath: "/properties/paths/patternProperties/^~1/properties/patch/additionalProperties"

Message: "Data does not match any schemas from "oneOf"", DataPath: "/paths/~1todos~1{id}/get/responses/200", SchemaPath: "/properties/paths/patternProperties/^~1/properties/get/properties/responses/patternProperties/^([0-9]{3})$|^(default)$/oneOf"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/get/responses/200/content", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/responses/patternProperties/^([0-9]{3})$|^(default)$/oneOf/0/additionalProperties"

Message: "Missing required property: $ref", DataPath: "/paths/~01todos~01{id}/get/responses/200", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/responses/patternProperties/^([0-9]{3})$|^(default)$/oneOf/1/required/0"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/get/responses/200/description", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/responses/patternProperties/^([0-9]{3})$|^(default)$/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/get/responses/200/content", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/responses/patternProperties/^([0-9]{3})$|^(default)$/oneOf/1/additionalProperties"

Message: "Data does not match any schemas from "oneOf"", DataPath: "/paths/~1todos~1{id}/get/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~1/properties/get/properties/parameters/items/oneOf"

Message: "Data does not match any schemas from "oneOf"", DataPath: "/paths/~01todos~01{id}/get/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/parameters/items/oneOf/0/oneOf"

Message: "No enum match for: "path"", DataPath: "/paths/~001todos~001{id}/get/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~001/properties/get/properties/parameters/items/oneOf/0/oneOf/0/properties/in/type"

Message: "Missing required property: type", DataPath: "/paths/~001todos~001{id}/get/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/required/2"

Message: "Data does not match any schemas from "oneOf"", DataPath: "/paths/~001todos~001{id}/get/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf"

Message: "No enum match for: "path"", DataPath: "/paths/~0001todos~0001{id}/get/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/0/properties/in/type"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos~0001{id}/get/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/0/additionalProperties"

Message: "No enum match for: "path"", DataPath: "/paths/~0001todos~0001{id}/get/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/1/properties/in/type"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos~0001{id}/get/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/1/additionalProperties"

Message: "No enum match for: "path"", DataPath: "/paths/~0001todos~0001{id}/get/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/2/properties/in/type"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos~0001{id}/get/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/2/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos~0001{id}/get/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/3/additionalProperties"

Message: "Missing required property: $ref", DataPath: "/paths/~01todos~01{id}/get/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/parameters/items/oneOf/1/required/0"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/get/parameters/0/name", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/get/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/get/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/get/parameters/0/required", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Data does not match any schemas from "oneOf"", DataPath: "/paths/~1todos~1{id}/get/parameters/1", SchemaPath: "/properties/paths/patternProperties/^~1/properties/get/properties/parameters/items/oneOf"

Message: "Data does not match any schemas from "oneOf"", DataPath: "/paths/~01todos~01{id}/get/parameters/1", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/parameters/items/oneOf/0/oneOf"

Message: "No enum match for: "query"", DataPath: "/paths/~001todos~001{id}/get/parameters/1/in", SchemaPath: "/properties/paths/patternProperties/^~001/properties/get/properties/parameters/items/oneOf/0/oneOf/0/properties/in/type"

Message: "Missing required property: type", DataPath: "/paths/~001todos~001{id}/get/parameters/1", SchemaPath: "/properties/paths/patternProperties/^~001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/required/2"

Message: "Data does not match any schemas from "oneOf"", DataPath: "/paths/~001todos~001{id}/get/parameters/1", SchemaPath: "/properties/paths/patternProperties/^~001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf"

Message: "No enum match for: "query"", DataPath: "/paths/~0001todos~0001{id}/get/parameters/1/in", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/0/properties/in/type"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos~0001{id}/get/parameters/1/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/0/additionalProperties"

Message: "No enum match for: "query"", DataPath: "/paths/~0001todos~0001{id}/get/parameters/1/in", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/1/properties/in/type"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos~0001{id}/get/parameters/1/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos~0001{id}/get/parameters/1/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/2/additionalProperties"

Message: "Missing required property: required", DataPath: "/paths/~0001todos~0001{id}/get/parameters/1", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/3/required/0"

Message: "No enum match for: "query"", DataPath: "/paths/~0001todos~0001{id}/get/parameters/1/in", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/3/properties/in/type"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos~0001{id}/get/parameters/1/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/3/additionalProperties"

Message: "Missing required property: $ref", DataPath: "/paths/~01todos~01{id}/get/parameters/1", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/parameters/items/oneOf/1/required/0"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/get/parameters/1/name", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/get/parameters/1/in", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/get/parameters/1/schema", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Data does not match any schemas from "oneOf"", DataPath: "/paths/~1todos~1{id}/delete/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~1/properties/delete/properties/parameters/items/oneOf"

Message: "Data does not match any schemas from "oneOf"", DataPath: "/paths/~01todos~01{id}/delete/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~01/properties/delete/properties/parameters/items/oneOf/0/oneOf"

Message: "No enum match for: "path"", DataPath: "/paths/~001todos~001{id}/delete/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~001/properties/delete/properties/parameters/items/oneOf/0/oneOf/0/properties/in/type"

Message: "Missing required property: type", DataPath: "/paths/~001todos~001{id}/delete/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~001/properties/delete/properties/parameters/items/oneOf/0/oneOf/1/required/2"

Message: "Data does not match any schemas from "oneOf"", DataPath: "/paths/~001todos~001{id}/delete/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~001/properties/delete/properties/parameters/items/oneOf/0/oneOf/1/oneOf"

Message: "No enum match for: "path"", DataPath: "/paths/~0001todos~0001{id}/delete/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/delete/properties/parameters/items/oneOf/0/oneOf/1/oneOf/0/properties/in/type"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos~0001{id}/delete/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/delete/properties/parameters/items/oneOf/0/oneOf/1/oneOf/0/additionalProperties"

Message: "No enum match for: "path"", DataPath: "/paths/~0001todos~0001{id}/delete/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/delete/properties/parameters/items/oneOf/0/oneOf/1/oneOf/1/properties/in/type"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos~0001{id}/delete/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/delete/properties/parameters/items/oneOf/0/oneOf/1/oneOf/1/additionalProperties"

Message: "No enum match for: "path"", DataPath: "/paths/~0001todos~0001{id}/delete/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/delete/properties/parameters/items/oneOf/0/oneOf/1/oneOf/2/properties/in/type"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos~0001{id}/delete/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/delete/properties/parameters/items/oneOf/0/oneOf/1/oneOf/2/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos~0001{id}/delete/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/delete/properties/parameters/items/oneOf/0/oneOf/1/oneOf/3/additionalProperties"

Message: "Missing required property: $ref", DataPath: "/paths/~01todos~01{id}/delete/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~01/properties/delete/properties/parameters/items/oneOf/1/required/0"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/delete/parameters/0/name", SchemaPath: "/properties/paths/patternProperties/^~01/properties/delete/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/delete/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~01/properties/delete/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/delete/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~01/properties/delete/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos~01{id}/delete/parameters/0/required", SchemaPath: "/properties/paths/patternProperties/^~01/properties/delete/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Data does not match any schemas from "oneOf"", DataPath: "/paths/~1todos/post/responses/200", SchemaPath: "/properties/paths/patternProperties/^~1/properties/post/properties/responses/patternProperties/^([0-9]{3})$|^(default)$/oneOf"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos/post/responses/200/content", SchemaPath: "/properties/paths/patternProperties/^~01/properties/post/properties/responses/patternProperties/^([0-9]{3})$|^(default)$/oneOf/0/additionalProperties"

Message: "Missing required property: $ref", DataPath: "/paths/~01todos/post/responses/200", SchemaPath: "/properties/paths/patternProperties/^~01/properties/post/properties/responses/patternProperties/^([0-9]{3})$|^(default)$/oneOf/1/required/0"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos/post/responses/200/description", SchemaPath: "/properties/paths/patternProperties/^~01/properties/post/properties/responses/patternProperties/^([0-9]{3})$|^(default)$/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos/post/responses/200/content", SchemaPath: "/properties/paths/patternProperties/^~01/properties/post/properties/responses/patternProperties/^([0-9]{3})$|^(default)$/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~1todos/post/requestBody", SchemaPath: "/properties/paths/patternProperties/^~1/properties/post/additionalProperties"

Message: "Data does not match any schemas from "oneOf"", DataPath: "/paths/~1todos/get/responses/200", SchemaPath: "/properties/paths/patternProperties/^~1/properties/get/properties/responses/patternProperties/^([0-9]{3})$|^(default)$/oneOf"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos/get/responses/200/content", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/responses/patternProperties/^([0-9]{3})$|^(default)$/oneOf/0/additionalProperties"

Message: "Missing required property: $ref", DataPath: "/paths/~01todos/get/responses/200", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/responses/patternProperties/^([0-9]{3})$|^(default)$/oneOf/1/required/0"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos/get/responses/200/description", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/responses/patternProperties/^([0-9]{3})$|^(default)$/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos/get/responses/200/content", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/responses/patternProperties/^([0-9]{3})$|^(default)$/oneOf/1/additionalProperties"

Message: "Data does not match any schemas from "oneOf"", DataPath: "/paths/~1todos/get/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~1/properties/get/properties/parameters/items/oneOf"

Message: "Data does not match any schemas from "oneOf"", DataPath: "/paths/~01todos/get/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/parameters/items/oneOf/0/oneOf"

Message: "No enum match for: "query"", DataPath: "/paths/~001todos/get/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~001/properties/get/properties/parameters/items/oneOf/0/oneOf/0/properties/in/type"

Message: "Additional properties not allowed", DataPath: "/paths/~001todos/get/parameters/0/style", SchemaPath: "/properties/paths/patternProperties/^~001/properties/get/properties/parameters/items/oneOf/0/oneOf/0/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~001todos/get/parameters/0/explode", SchemaPath: "/properties/paths/patternProperties/^~001/properties/get/properties/parameters/items/oneOf/0/oneOf/0/additionalProperties"

Message: "Missing required property: type", DataPath: "/paths/~001todos/get/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/required/2"

Message: "Data does not match any schemas from "oneOf"", DataPath: "/paths/~001todos/get/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf"

Message: "No enum match for: "query"", DataPath: "/paths/~0001todos/get/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/0/properties/in/type"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos/get/parameters/0/style", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/0/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos/get/parameters/0/explode", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/0/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos/get/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/0/additionalProperties"

Message: "No enum match for: "query"", DataPath: "/paths/~0001todos/get/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/1/properties/in/type"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos/get/parameters/0/style", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos/get/parameters/0/explode", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos/get/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos/get/parameters/0/style", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/2/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos/get/parameters/0/explode", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/2/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos/get/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/2/additionalProperties"

Message: "Missing required property: required", DataPath: "/paths/~0001todos/get/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/3/required/0"

Message: "No enum match for: "query"", DataPath: "/paths/~0001todos/get/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/3/properties/in/type"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos/get/parameters/0/style", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/3/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos/get/parameters/0/explode", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/3/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~0001todos/get/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~0001/properties/get/properties/parameters/items/oneOf/0/oneOf/1/oneOf/3/additionalProperties"

Message: "Missing required property: $ref", DataPath: "/paths/~01todos/get/parameters/0", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/parameters/items/oneOf/1/required/0"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos/get/parameters/0/name", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos/get/parameters/0/in", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos/get/parameters/0/style", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos/get/parameters/0/explode", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/paths/~01todos/get/parameters/0/schema", SchemaPath: "/properties/paths/patternProperties/^~01/properties/get/properties/parameters/items/oneOf/1/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/servers", SchemaPath: "/additionalProperties"

Message: "Additional properties not allowed", DataPath: "/components", SchemaPath: "/additionalProperties"

Error ID: 5beffb680cf2a119cede99ec

Expected Behavior

Ability to manage APIs of loopback apps deployed to IBM Cloud using API Connect or IBM Cloud / Api Management.
Neither currently possible due to this issue and #2041

Most helpful comment

Hi cloudwheels, We have some issues when uploaded OpenAPI 3.2.1 V,
So, There is no OpenAPI 3.0 API support with the IBM API Connect DataPower Gateway (v5 compatible); OpenAPI 3.0 API support is provided by the DataPower API Gateway only.
OpenAPI( swagger ) version 2.0 working fine,
note: I mean working with IBM Cloud, On-Premise working fine with DataPowe,

All 3 comments

RTFM perhaps, but is it possible to generate a v2 schema / app with loopback4?, or is this an 'issue' of waiting for IBM's API tools to catch up?

I RTFM :) This should be covered in https://loopback.io/doc/en/lb4/Controllers.html#specifying-controller-apis.
Not tested but closing on assumption this is how to generate a v2 schema if required.

Hi cloudwheels, We have some issues when uploaded OpenAPI 3.2.1 V,
So, There is no OpenAPI 3.0 API support with the IBM API Connect DataPower Gateway (v5 compatible); OpenAPI 3.0 API support is provided by the DataPower API Gateway only.
OpenAPI( swagger ) version 2.0 working fine,
note: I mean working with IBM Cloud, On-Premise working fine with DataPowe,

Was this page helpful?
0 / 5 - 0 ratings