API request to update Cost Plan Details returns 200 OK but does not update values
search cancel

API request to update Cost Plan Details returns 200 OK but does not update values

book

Article ID: 445023

calendar_today

Updated On:

Products

Clarity PPM SaaS Clarity PPM On Premise

Issue/Introduction

When attempting to update Cost Plan Details using the Clarity REST API (PUT method), the API call returns a 200 OK success status code, but the submitted values are not updated in the application.

Environment

Clarity PPM 16.x

Cause

This issue occurs when the incorrect IDs are mapped within the API request URL and the JSON payload body.

  • Silent Failure (200 OK but no update): This happens when the Cost Plan ID is passed as the _internalId in the JSON payload. Because the ID does not correspond to a valid Cost Plan Detail row, the system silently skips the update.

  • API-1004 Error: This happens when the Cost Plan Detail ID is mistakenly placed in the URL endpoint instead of the Cost Plan ID.

Resolution

To successfully update Cost Plan Details, the IDs must be placed in their exact designated locations within the request.

Ensure the following configuration is used for the PUT operation:

  1. Header Requirement: The PUT operation requires the following header to enforce the update:

    • x-api-force-patch = true

  2. URL Endpoint: The target URL must contain the Cost Plan ID.

    • Format: https://<server_url>/ppm/rest/v1/costPlans/{Cost_Plan_ID}/costPlanDetails

  3. JSON Payload Body: The _internalId field within the JSON body must strictly be the Cost Plan Detail ID (fin_cost_plan_details), not the Cost Plan ID.

    Example Payload:

    {
      "d": [
        {
          "cost": {
            "workEffortUnit": "hours",
            "pattern": "uniform",
            "periodList": [
              {
                "periods": [
                  {
                    "start": "2026-03-01T00:00:00",
                    "finish": "2026-03-31T00:00:00",
                    "value": "0"
                  },
                 {
                    "start": "2026-04-01T00:00:00",
                    "finish": "2026-04-30T00:00:00",
                    "value": "200"
                  }
                ]
              }
            ]
          },
          "_internalId": <cost_plan_detail_id>
        }
      ]
    }