How am I causing this "Unable to parse request" error?
I'll show a successful request, a failed request, and the error I get. For context, 1111 is my sheet ID, 2222 is a row, 3333 is a text column, and 4444 is the special "Start Date" column that Smartsheet creates.
Successful request
PUT https://api.smartsheet.com/2.0/sheets/1111/rows/
[
{
"id": 2222,
"cells": [
{
"columnId": 3333,
"value": "Complete"
}
]
}
]
Failed request
Same HTTP method and URL, same row, but different column and value.
PUT https://api.smartsheet.com/2.0/sheets/1111/rows/
[
{
"id": 2222,
"cells": [
{
"columnId": 4444,
"value": "2025-06-20"
}
]
}
]
Error
{
"refId": "ec118d9a-07d1-4be0-9632-957d566d2a5c",
"errorCode": 1008,
"message": "Unable to parse request."
}
Row 2222 does not have subtasks (no indented rows under it).
I can make the same two requests on a different sheet and both succeed. This leads me to believe there is some difference in the way the "Start Date" column is configured on each sheet. They look the same to me. Both have the little (i) information icon.
Any idea what's wrong with my failed request?
Best Answer
-
I was able to recreate the same error by trying to update the Start cell that depends on another date.
The Start cells in rows 2 to 4 all depend on the values in row 5. Tring updates the Start value gave me the same errors.
{"response": {"statusCode": 400, "reason": "Bad Request", "content": {"errorCode": 1008, "message": "Unable to parse request.", "refId": "da050fe3-e70d-4e1e-8705-80ea1078b756"}}}
So, your "> Row 2222 does not have subtasks (no indented rows under it)." could be this case.
Whether you use Postman and cURL, or the Python SDK, it is irrelevant here.
Answers
-
The little (i) information icon indicates that the sheet admin has added a definition to the column, but you can enter anything. However, the information suggests that the sheet admin has set the dependency to enabled.
Therefore, I suspect the difference lies in whether the Start column is a regular Date column or a special Date Column.
I tested the update Start value using the update rows method with the Python SDK.
It worked at a child row as the cell history above shows. So, your "value": "2025-06-20" format should be OK.
However, at the parent row, though I did not get an error message, the value did not change.
# Build new cell value
new_cell = smartsheet.models.Cell()
new_cell.column_id = 1678538362802052 # column_id for "Start" column
new_cell.value = "2025-08-20"
new_cell.strict = False
# Build the row to update
new_row = smartsheet.models.Row()
new_row.id = 8074746591842180 #5259996824735620 children row id # 8074746591842180 parent row id
new_row.cells.append(new_cell)
# Update rows
updated_row = smartsheet_client.Sheets.update_rows(
sheet_id, # sheet_id
[new_row])When dependency is enabled, the Start column type is '"type": "ABSTRACT_DATETIME" and has a formula at the parent row; "formula": "=MIN(CHILDREN())"
As the parent row has a system-set hidden formula, I suppose I was unable to update the cell value.
-
@jmyzk_cloudsmart_jp You are describing a different problem. When you attempt to update the start date on a parent row while the dependency is enabled, the value does not change. I'm not trying to update a parent row. From my original post:
> Row 2222 does not have subtasks (no indented rows under it).
Are the two problems related in a way that I'm not understanding?
You mentioned you are using the Python SDK to test. I'm using Postman and CURL separately and getting the same results from both. -
I was able to recreate the same error by trying to update the Start cell that depends on another date.
The Start cells in rows 2 to 4 all depend on the values in row 5. Tring updates the Start value gave me the same errors.
{"response": {"statusCode": 400, "reason": "Bad Request", "content": {"errorCode": 1008, "message": "Unable to parse request.", "refId": "da050fe3-e70d-4e1e-8705-80ea1078b756"}}}
So, your "> Row 2222 does not have subtasks (no indented rows under it)." could be this case.
Whether you use Postman and cURL, or the Python SDK, it is irrelevant here.
-
@jmyzk_cloudsmart_jp That was the problem! I was trying to set the Start value of a row that depends on another row. I understand why this is illogical.
And now that I know what the problem is, I think I know how to solve. I either need to 1) clear predecessor(s) prior to setting the Start value, or 2) update predecessor(s) to have a lag and not set the Start value directly.
-
Glad that you found the solution!😁