Hi everyone,
We faced a strange behavior of Power Apps Custom connectors, when declaring a new Custom connector using Open API definition: if the Open API definition has common parameters (see "Common parameters" in https://swagger.io/docs/specification/describing-parameters), like common parameters for all methods of a path, they are not taken into account and so the added API is not valid until we manually add the details of the parameters.
I summarized the case with a quick demo with 2 valid Open API definitions:
#1 - Using parameters at the method level, it will be correctly added
{
"swagger": "2.0",
"info": {
"description": "Sample description",
"version": "1.0.0",
"title": "Swagger Demo"
},
"host": "myendpoint.demo.com",
"basePath": "/v0",
"schemes": [
"https"
],
"paths": {
"/store/order/{orderId}": {
"get": {
"summary": "Find purchase order by ID",
"description": "Quick description of the order by Id operation",
"operationId": "getOrderById",
"parameters": [
{
"name": "orderId",
"in": "path",
"description": "ID of pet that needs to be fetched",
"required": true,
"type": "integer",
"format": "int64"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/Order"
}
}
}
}
}
},
"definitions": {
"Order": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"petId": {
"type": "integer",
"format": "int64"
}
}
}
}
}
Definition is OK:

#2 - Using common parameters for the route, the parameter 'orderId' will be missing in the import and the connector will throw an error:
{
"swagger": "2.0",
"info": {
"description": "Sample description",
"version": "1.0.0",
"title": "Swagger Demo"
},
"host": "myendpoint.demo.com",
"basePath": "/v0",
"schemes": [
"https"
],
"paths": {
"/store/order/{orderId}": {
"parameters": [
{
"name": "orderId",
"in": "path",
"description": "ID of pet that needs to be fetched",
"required": true,
"type": "integer",
"format": "int64"
}
],
"get": {
"summary": "Find purchase order by ID",
"description": "Quick description of the order by Id operation",
"operationId": "getOrderById",
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/Order"
}
}
}
}
}
},
"definitions": {
"Order": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"petId": {
"type": "integer",
"format": "int64"
}
}
}
}
}
In the "Definition" tab, there will be the following error:
Path parameter 'orderId' is referenced in path but not defined.

Any idea of the reason of this issue? When using Swagger editor, both Open API definitions are valid and have the exactly the same result.