When trying to use this endpoint without all parameters being set, I would expect Kiota to send empty parameters as they have the property "allowEmptyValue" but also are "required".
"/{currentCompany}/Erp.BO.LaborSvc/GetRows": {
"get": {
"tags": [ "Custom methods" ],
"summary": "Invoke method GetRows",
"description": "Returns a dataset containing all rows that satisfy the where clauses.",
"operationId": "Get_GetRows",
"parameters": [
{ "$ref": "#/parameters/currentCompany" },
{ "$ref": "#/parameters/X-API-Key" },
{
"name": "whereClauseLaborHed",
"in": "query",
"description": "whereClauseLaborHed",
"required": true,
"type": "string",
"allowEmptyValue": true
},
{
"name": "whereClauseLaborDtl",
"in": "query",
"description": "whereClauseLaborDtl",
"required": true,
"type": "string",
"allowEmptyValue": true
},
{
"name": "whereClauseLaborDtlAttch",
"in": "query",
"description": "whereClauseLaborDtlAttch",
"required": true,
"type": "string",
"allowEmptyValue": true
},
{
"name": "whereClauseLaborDtlComment",
"in": "query",
"description": "whereClauseLaborDtlComment",
"required": true,
"type": "string",
"allowEmptyValue": true
},
{
"name": "whereClauseLaborEquip",
"in": "query",
"description": "whereClauseLaborEquip",
"required": true,
"type": "string",
"allowEmptyValue": true
},
{
"name": "whereClauseLaborPart",
"in": "query",
"description": "whereClauseLaborPart",
"required": true,
"type": "string",
"allowEmptyValue": true
},
{
"name": "whereClauseLbrScrapSerialNumbers",
"in": "query",
"description": "whereClauseLbrScrapSerialNumbers",
"required": true,
"type": "string",
"allowEmptyValue": true
},
{
"name": "whereClauseLaborDtlGroup",
"in": "query",
"description": "whereClauseLaborDtlGroup",
"required": true,
"type": "string",
"allowEmptyValue": true
},
{
"name": "whereClauseSelectedSerialNumbers",
"in": "query",
"description": "whereClauseSelectedSerialNumbers",
"required": true,
"type": "string",
"allowEmptyValue": true
},
{
"name": "whereClauseSNFormat",
"in": "query",
"description": "whereClauseSNFormat",
"required": true,
"type": "string",
"allowEmptyValue": true
},
{
"name": "whereClauseTimeWeeklyView",
"in": "query",
"description": "whereClauseTimeWeeklyView",
"required": true,
"type": "string",
"allowEmptyValue": true
},
{
"name": "whereClauseTimeWorkHours",
"in": "query",
"description": "whereClauseTimeWorkHours",
"required": true,
"type": "string",
"allowEmptyValue": true
},
{
"name": "pageSize",
"in": "query",
"description": "pageSize",
"required": true,
"type": "integer",
"format": "int32"
},
{
"name": "absolutePage",
"in": "query",
"description": "absolutePage",
"required": true,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK",
"schema": { "$ref": "#/definitions/GetRows_output" }
},
"500": { "description": "Internal server error. Server is unable to process the request." }
}
}
},
What Kiota actually does, is it omits these parameters resulting in an error.
As an example, this is the url that swagger generates when I select to sent empty values for all parameters where allowed:
https://{Servername}/api/v2/odata/{Company}/Erp.BO.LaborSvc/GetRows?whereClauseLaborHed=&whereClauseLaborDtl=&whereClauseLaborDtlAttch=&whereClauseLaborDtlComment=&whereClauseLaborEquip=&whereClauseLaborPart=&whereClauseLbrScrapSerialNumbers=&whereClauseLaborDtlGroup=&whereClauseSelectedSerialNumbers=&whereClauseSNFormat=&whereClauseTimeWeeklyView=&whereClauseTimeWorkHours=&pageSize=0&absolutePage=0
https://{Servername}/api/v2/odata/{Company}/Erp.BO.LaborSvc/GetRows?pageSize=0&absolutePage=0