First thing I think about is to verify the column names and their order in the input data match exactly with what was used during training because what I understood from the error message is that the service is expecting column names instead of numerical indices.
To explain better, the input data provided for scoring should have the same structure (column names and data types) as the data used for training the model.
So based on the example provided, you should replace the numerical indices with the corresponding column names.
data = {
"Inputs": {
"columns": [
"age", "job", "marital", "education", "default", "housing", "loan", "contact", "month", "duration", "campaign",
"pdays", "previous", "poutcome", "emp.var.rate", "cons.price.idx", "cons.conf.idx", "euribor3m", "nr.employed"
],
"index": [0, 1],
"data": [
[57, "technician", "married", "high.school", "no", "no", "yes", "cellular", "may", 371, 1, 999, 1, "failure", -1.8, 92.893, -46.2, 1.299, 5099.1],
[30, "blue-collar", "single", "basic.9y", "no", "yes", "no", "cellular", "jul", 221, 1, 999, 0, "nonexistent", 1.4, 93.994, -36.4, 4.857, 5191]
]
}
}