How am I causing this "Unable to parse request" error?

Options

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.

image.png

Any idea what's wrong with my failed request?

Best Answer

  • jmyzk_cloudsmart_jp
    jmyzk_cloudsmart_jp Community Champion
    edited 06/26/25 Answer ✓

    @john.rainbolt

    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.

    image.png

Answers

  • jmyzk_cloudsmart_jp
    jmyzk_cloudsmart_jp Community Champion

    Hi @john.rainbolt

    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.

    image.png

    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.

  • john.rainbolt
    edited 06/26/25

    @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.

  • jmyzk_cloudsmart_jp
    jmyzk_cloudsmart_jp Community Champion
    edited 06/26/25 Answer ✓

    @john.rainbolt

    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.

    image.png
  • @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.

  • jmyzk_cloudsmart_jp
    jmyzk_cloudsmart_jp Community Champion

    Glad that you found the solution!😁

NEW Smartsheet API Documentation - bookmark the updated link! https://developers.smartsheet.com