Unable to update Task customStatusId via API
Hello Wrike Support Team,
We’re implementing automations via the REST API (v4) and are running into a consistent issue: updating a Task’s customStatusId returns HTTP 400 “Parameter 'customStatusId' is not allowed”. The same operation for Projects works when we use the project payload correctly.
Environment/context
- Space: Krona Master (SPACE_ID: IEAGJDLMI5NTTUPA)
- Workflow ID (from /workflows): IEAGJDLMK77ZW4UU
- Status IDs (from /workflows and confirmed via GET):
- Task/Project “New”: IEAGJDLMJMAAAAAA
- Task/Project “In Progress”: IEAGJDLMJMFD7MIA
- Example items:
- Tasks: MAAAAABos7QE, MAAAAABos7Qp, MAAAAABos7Wy
- Project: MQAAAABos7Ue
Repro steps (Tasks)
-
Confirm current Task status via GET: /tasks/MAAAAABos7QE Response (abridged): { "data": [{ "id": "MAAAAABos7QE", "customStatusId": "IEAGJDLMJMAAAAAA", // New "status": "Active", "dates": { "start": "2025-09-24T09:00:00" } }] }
-
Attempt to update Task status via API (we tried both form-encoded and JSON):
-
Form: PUT /tasks/MAAAAABos7QE Content-Type: application/x-www-form-urlencoded customStatusId=IEAGJDLMJMFD7MIA
-
JSON: PUT /tasks/MAAAAABos7QE Content-Type: application/json { "customStatusId": "IEAGJDLMJMFD7MIA" }
- Result (both attempts): HTTP/400 { "error": "invalid_request", "errorDescription": "Parameter 'customStatusId' is not allowed" }
Notes
- The Task is in the same workflow that contains both “New” and “In Progress”.
- The transition is allowed in UI (users can change New → In Progress).
- We also verified name localization doesn’t matter (“New”/“In Progress” vs “Nuovo”/“In corso”).
What we’ve already tried (Tasks)
- Both Content-Types (form-url-encoded first, then JSON fallback).
- Ensured the target status is in the same workflow as the current status (resolved by workflowId).
- Verified the transition is possible in UI for the same items.
- Considered setting base status (status="Active"), but our requirement is to move to the specific custom status “In Progress” in the workflow.
Questions for Support
- Is updating a Task’s customStatusId via API restricted/disabled in our account/space/workflow? If so, can it be enabled or is there a per‑Space/workflow permission we need to adjust?
- If it is supposed to be allowed, what is the correct supported payload/endpoint combination for Tasks to change customStatusId? Are there additional constraints (e.g., specific headers, workflow transition rules via API differing from UI)?
- Is there an official statement confirming that Automation rules do not trigger on API‑originated changes for dates/status? If yes, is Wrike Integrate (scheduler) or a different recommended pattern the supported approach for time‑based state changes?
- If Task customStatusId cannot be changed via API in our tenant, is there an alternative API path you recommend to move Tasks to a specific custom state (e.g., workflow migration APIs, different field, or an officially supported bridge)?
Artifacts/excerpts from our logs
- 2025‑09‑24 16:29:49 | ERROR | HTTP 400 setting customStatusId on task MAAAAABos7QE: {"errorDescription":"Parameter 'customStatusId' is not allowed","error":"invalid_request"}
- 2025‑09‑24 16:29:55 | ERROR | HTTP 400 setting customStatusId on project MQAAAABos7Ue (before we corrected payload). After switching to project={customStatusId:…}, project updates succeeded.
We would appreciate guidance on whether this is a configuration/policy limitation on our tenant or if we should be using a different, supported method for Tasks. Happy to provide additional request IDs or full raw HTTP traces if needed.
Thank you!
Rohan V Community Team at Wrike Wrike Product Manager Become a Wrike expert with Wrike Discover
Rohan V Wrike Team member Become a Wrike expert with Wrike Discover