Expected a list of items

Hello guys, I recently started using n8n, and I need your help.

I am having the followin issue with Clientify API:

On a “Node #2” of my workflow I am able to use the command “GET Budget Details”:

After I run sucessfully other nodes, to get info from other apps…

On “Node #6” I need to update just the “expiration_date” of the Budget I got previously.

However when I use " PUT Update Budget":

Clientify API request me to send as mandatory the field “items”.

As I don’t need to modify the value of that field, I was trying to just send the value I got in “Node #2”, using “JSON”, and entering in body parameters:

  • Name: items
  • Value: {{ “id”: 334288, “product”: { “id”: 4262676, “name”: “some text”, “currency”: “USD” }, “item”: null, “quantity”: “1.00”, “unit_price”: “200.00”, “discount_percentage”: “10.00”, “taxes”: [ 20 ], “description”: “Testing” }}

However I get this error message:

“message”: “400 - {“items”:{“non_field_errors”:[“Expected a list of items but got type "unicode".”]}}”,

## Here is my workflow

## Output returned by the last node

{“status”:“rejected”,“reason”:{“message”:“400 - {"items":{"non_field_errors":["Expected a list of items but got type \"unicode\"."]}}”,“name”:“Error”,“stack”:“Error: Request failed with status code 400\n at createError (/usr/local/lib/node_modules/n8n/node_modules/axios/lib/core/createError.js:16:15)\n at settle (/usr/local/lib/node_modules/n8n/node_modules/axios/lib/core/settle.js:17:12)\n at IncomingMessage.handleStreamEnd (/usr/local/lib/node_modules/n8n/node_modules/axios/lib/adapters/http.js:269:11)\n at IncomingMessage.emit (node:events:539:35)\n at endReadableNT (node:internal/streams/readable:1345:12)\n at processTicksAndRejections (node:internal/process/task_queues:83:21)”}}

Expected output:

Just to update the field “expiration_date” and keep all the other fields as they are.

Information on your n8n setup

  • n8n version: Version 0.175.1
  • Database you’re using: SQLite
  • Running n8n with the execution process [own(default), main]: own.
  • Running n8n via [Docker, npm, n8n.cloud, desktop app]: npm.

Hey @drn,

Welcome to the community :raised_hands:

I would maybe start by updating your n8n instance, Are you able to share the output of the nodes so we can see the data you are working with?

Hey @drn, welcome to the community. As Jon said, I would also highly recommend to update your instance since you’re quite some versions behind and we added loads of improvements since then.

Anyway, on your question: From looking at the data your copied in, it looks like your not sending and array of itesm via your body. I guess items should be an array, your data seems to be an object. Probably it should look like this:

	"id": 334288,
	"product": {
		"id": 4262676,
		"name": "some text",
		"currency": "USD"
	"item": null,
	"quantity": "1.00",
	"unit_price": "200.00",
	"discount_percentage": "10.00",
	"taxes": [20],
	"description": "Testing"

Hope this helps :slight_smile: