Change Requests

Edits a single change in a change request

Changed on

Enterprise feature

This endpoint will edit one change from a change request if it matches the provided id. The edit removes previous change and inserts a new one. You

should not rely on the changeId for subsequent edits and always check the most recent changeId.

put/api/admin/projects/{projectId}/change-requests/{changeRequestId}/changes/{changeId}

Request

  • Base URL
    https://app.unleash-instance.example.com
  • URL
    https://app.unleash-instance.example.com/api/admin/projects/{projectId}/change-requests/{changeRequestId}/changes/{changeId}
  • Auth
    • API key in header Authorization
    • or HTTP bearer

Path parameters

projectIdstring required
changeRequestIdstring required
changeIdstring required

Request body

OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR

Example request

{
  "payload": {
    "name": "beta-users",
    "description": "Users willing to help us test and build new features.",
    "project": "red-vista",
    "constraints": [
      {
        "contextName": "appName",
        "operator": "IN",
        "values": [
          "my-app",
          "my-other-app"
        ],
        "value": "my-app"
      }
    ]
  }
}

Response

changeRequestSchema

OR

Example response

{
  "id": 3,
  "title": "Increasing gradual rollout",
  "environment": "development",
  "minApprovals": 2,
  "project": "unleash-project",
  "features": [
    {
      "name": "my-feature",
      "conflict": "Feature has been archived",
      "changes": [
        {
          "id": 33,
          "action": "updateStrategy",
          "conflict": "Strategy has been deleted",
          "payload": [
            {
              "id": "9c40958a-daac-400e-98fb-3bb438567008",
              "sortOrder": 1
            }
          ],
          "createdAt": "2023-07-31T13:22:03+02:00"
        }
      ],
      "defaultChange": {
        "action": "addStrategy",
        "payload": {
          "name": "flexibleRollout",
          "title": "",
          "disabled": false,
          "segments": [],
          "parameters": {
            "groupId": "my-feature",
            "rollout": "100",
            "stickiness": "default"
          },
          "constraints": [
            {
              "values": [
                "ux"
              ],
              "inverted": false,
              "operator": "STR_CONTAINS",
              "contextName": "userId",
              "caseInsensitive": false
            }
          ]
        }
      }
    }
  ],
  "segments": [
    {
      "id": 33,
      "action": "updateStrategy",
      "conflict": "Strategy has been deleted",
      "payload": [
        {
          "id": "9c40958a-daac-400e-98fb-3bb438567008",
          "sortOrder": 1
        }
      ],
      "createdAt": "2023-07-31T13:22:03+02:00",
      "name": "beta-users"
    }
  ],
  "approvals": [
    {
      "createdBy": {
        "id": 33,
        "username": "unleash-user"
      },
      "createdAt": "2022-12-12T12:13:24.218Z"
    }
  ],
  "rejections": [
    {
      "createdBy": {
        "id": 33,
        "username": "unleash-user"
      },
      "createdAt": "2022-12-12T12:13:24.218Z"
    }
  ],
  "comments": [
    {
      "id": 33,
      "text": "This is a comment",
      "createdBy": {
        "username": "unleash-user"
      },
      "createdAt": "2022-12-12T12:13:24.218Z"
    }
  ],
  "createdBy": {
    "username": "Hunter"
  },
  "createdAt": "2023-07-31T13:33:02Z",
  "stateTimestamps": {
    "Draft": "2023-07-31T13:33:02Z",
    "In review": "2023-08-01T10:15:30Z",
    "Approved": "2023-08-02T09:01:00Z"
  }
}

Changes

    • breaking

      the //// request property's minLength was increased from 0 to 1

    • info

      added the new SEMVER_GTE enum value to the request property ////

    • info

      added the new SEMVER_LTE enum value to the request property ////

    • breaking

      removed subschema #4 subschema #18 subschema #19 from the request body oneOf list

    • breaking

      added subschema #1 subschema #2 to the response body oneOf list for the response status

    • info

      added subschema #4 subschema #5 subschema #19 subschema #20 subschema #21 subschema #22 to the request body oneOf list

    • info

      removed subschema #1 subschema #2 from the response body oneOf list for the response status