---
title: Update a rule
slug: import-test-pdf/Ip43-update-a-rule
createdAt: 2025-10-27T12:57:15.106Z
---

{
  "id": "caheowqXgeEeX7Ub_mee_",
  "type": "api-oas-v2",
  "data": {
    "method": "PUT",
    "url": "https://provisioning.rs.int.{environment}.korfinancial.com/clients/{entityIdentifier}/rules/{ruleId}",
    "servers": [
      {
        "url": "https://provisioning.rs.int.{environment}.korfinancial.com/clients/{entityIdentifier}/rules/{ruleId}",
        "description": "RS Provisioning Integration API"
      },
      {
        "url": "https://provisioning.rs.{environment}.korfinancial.com/clients/{entityIdentifier}/rules/{ruleId}",
        "description": "RS Provisioning Production API"
      }
    ],
    "name": "Update a rule",
    "description": "Update a new rule",
    "contentType": "application/json",
    "request": {
      "pathParameters": [
        {
          "kind": "required",
          "name": "entityIdentifier",
          "type": "string<uuid>",
          "example": "3AE803B1-5765-481D-BFAB-D176679D7D8C",
          "description": "Your KOR client identifier. Your admin can obtain this identifier from the KOR Central UI under entity client details."
        },
        {
          "kind": "required",
          "name": "ruleId",
          "type": "string<uuid>",
          "example": "EE740BB0-F854-4054-B5DB-0EAA6B3F6DBB",
          "description": "The identifier of the rule"
        }
      ],
      "headerParameters": [],
      "queryParameters": [],
      "bodyDataParameters": [
        {
          "kind": "optional",
          "name": "body",
          "type": "object",
          "description": "Model for rule update",
          "customType": "RuleUpdateRequest",
          "schema": [
            {
              "name": "name",
              "kind": "optional",
              "type": "string",
              "description": "The name assigned to the rule",
              "example": "My assetClass rule"
            },
            {
              "name": "note",
              "kind": "required",
              "type": "string",
              "description": "The note that documents the purpose of the rule and the changes that happened to it",
              "example": "Updated to also cover the ESMA mandate"
            },
            {
              "name": "ruleSets",
              "kind": "optional",
              "type": "array",
              "description": "The rule sets that this rule is part of",
              "example": "",
              "itemType": "string",
              "customType": "string[]",
              "itemExample": "EE740BB0-F854-4054-B5DB-0EAA6B3F6DBB",
              "itemDefault": ""
            },
            {
              "name": "functions",
              "kind": "required",
              "type": "array",
              "description": "The function definitions that will apply to the KDM field",
              "modelRef": "#/components/schemas/Function",
              "customType": "Function[]",
              "schema": [
                {
                  "name": "argumentReferenceIdentifier",
                  "kind": "optional",
                  "type": "string",
                  "description": "The identifier of the function that will be used to generate the argument value.\nIf null, the function will be treated as a head.\n",
                  "example": "EE740BB0-F854-4054-B5DB-0EAA6B3F6DBB"
                },
                {
                  "name": "category",
                  "kind": "optional",
                  "type": "string",
                  "description": "The category of the function\n<br> x-extensible-enum: <small>\n  - HUB\n  - PURPOSE\n  - REG\n  - ENTITY\n  - PRODUCT\n  - RELATIONSHIP\n  - VALUE_MAPPING\n</small>\n",
                  "example": "HUB"
                },
                {
                  "name": "tag",
                  "kind": "optional",
                  "type": "string",
                  "description": "The tag of the function",
                  "example": "[\"sourceField\",\"upperCase\",\"mandate\"]"
                },
                {
                  "name": "functionMetadata",
                  "kind": "optional",
                  "type": "string",
                  "description": "The metadata of the function. Referenced in the user field configuration metadata.",
                  "example": "{\"id\":\"5c7bf808ac0c507e\",\"value\":{\"x\":-105.2109375,\"y\":-84.43359375}}"
                },
                {
                  "name": "arguments",
                  "kind": "optional",
                  "type": "array",
                  "description": "A dynamic list of arguments by name and type",
                  "modelRef": "#/components/schemas/FunctionArgument",
                  "customType": "FunctionArgument[]",
                  "schema": [
                    {
                      "name": "type",
                      "kind": "optional",
                      "type": "string",
                      "description": "The type of the function argument\n<br> x-extensible-enum: <small>\n  - STRING\n  - NUMBER\n  - ARRAY\n  - MAP\n  - FUNCTION\n  - BOOLEAN\n  - KDMFIELD\n  - SOURCEFIELD\n</small>\n",
                      "example": "STRING"
                    },
                    {
                      "name": "name",
                      "kind": "optional",
                      "type": "string",
                      "description": "The name of the function argument",
                      "example": "[\"function\",\"argument0\",\"actionType\"]"
                    },
                    {
                      "name": "value",
                      "kind": "optional",
                      "type": "object",
                      "description": "Can be anything: string, number, array, object, etc., including `null`",
                      "modelRef": "#/components/schemas/AnyValue",
                      "customType": "AnyValue",
                      "schema": []
                    }
                  ]
                }
              ]
            },
            {
              "name": "ruleMetadata",
              "kind": "optional",
              "type": "string",
              "description": "Overview of a rule metadata",
              "example": "{\"connections\":[{\"id\":\"4568e6983fef85d9\",\"source\":\"2d7bc70c10f8db77\",\"sourceOutput\":\"outputKDMField\",\"target\":\"d75cd0beba2bf8b0\",\"targetInput\":\"upperFuncInput_argument0\"},{\"id\":\"660c0766dc3599aa\",\"source\":\"d75cd0beba2bf8b0\",\"sourceOutput\":\"upperFuncOutput\",\"target\":\"e25c88e883e204a6\",\"targetInput\":\"mandateInput\"}],\"targetKDMField\":{\"id\":\"2d7bc70c10f8db77\",\"value\":{\"x\":-133.265625,\"y\":-38.0546875}}}"
            },
            {
              "name": "status",
              "kind": "optional",
              "type": "string",
              "description": "The status of the rule\n<br> x-extensible-enum: <small>\n  - ACTIVE\n  - INACTIVE\n  - ARCHIVED\n</small>\n",
              "example": "ACTIVE",
              "modelRef": "#/components/schemas/RuleStatus",
              "customType": "RuleStatus",
              "schema": []
            }
          ],
          "modelRef": "#/components/schemas/RuleUpdateRequest",
          "isExpanded": true
        }
      ],
      "formDataParameters": [],
      "oAuthParameters": []
    },
    "responses": [
      {
        "statusCode": "202",
        "description": "Rule update has been accepted",
        "jsonExample": "",
        "isExpanded": true
      },
      {
        "statusCode": "400",
        "description": "Bad Request",
        "jsonExample": "",
        "isExpanded": true
      },
      {
        "statusCode": "401",
        "description": "Unauthorized",
        "jsonExample": "",
        "isExpanded": true
      },
      {
        "statusCode": "403",
        "description": "Forbidden",
        "jsonExample": "",
        "isExpanded": true
      },
      {
        "statusCode": "404",
        "description": "Not Found",
        "jsonExample": "",
        "isExpanded": true
      },
      {
        "statusCode": "405",
        "description": "Method Not Allowed",
        "jsonExample": "",
        "isExpanded": true
      },
      {
        "statusCode": "406",
        "description": "Not Acceptable",
        "jsonExample": "",
        "isExpanded": true
      },
      {
        "statusCode": "415",
        "description": "Unsupported Media Type",
        "jsonExample": "",
        "isExpanded": true
      },
      {
        "statusCode": "500",
        "description": "Internal Server Error",
        "jsonExample": "",
        "isExpanded": true
      },
      {
        "statusCode": "504",
        "description": "Gateway Timeout",
        "jsonExample": "",
        "isExpanded": true
      },
      {
        "statusCode": "default",
        "description": "Internal Server Error",
        "jsonExample": "",
        "isExpanded": true
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "example-0-curl",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request PUT \\\n     --url https://provisioning.rs.int.{environment}.korfinancial.com/clients/{entityIdentifier}/rules/{ruleId} \\\n     --header 'accept: application/json' \\\n     --header 'content-type: application/json' \\\n     --data '{\n     \"note\": \"Updated to also cover the ESMA mandate\",\n     \"functions\": [\n     {}\n     ]\n     }'"
        },
        {
          "id": "example-1-javascript",
          "language": "javascript",
          "label": "javascript",
          "code": "var myHeaders = new Headers();\nmyHeaders.append(\"accept\", \"application/json\");\nmyHeaders.append(\"content-type\", \"application/json\");\n\nvar raw = JSON.stringify({\n   \"note\": \"Updated to also cover the ESMA mandate\",\n   \"functions\": [\n      {}\n   ]\n});\n\nvar requestOptions = {\n   method: 'PUT',\n   headers: myHeaders,\n   body: raw,\n   redirect: 'follow'\n};\n\nfetch(\"https://provisioning.rs.int.{environment}.korfinancial.com/clients/{entityIdentifier}/rules/{ruleId}\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "example-2-ruby",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://provisioning.rs.int.{environment}.korfinancial.com/clients/{entityIdentifier}/rules/{ruleId}\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"accept\"] = \"application/json\"\nrequest[\"content-type\"] = \"application/json\"\nrequest.body = JSON.dump({\n   \"note\": \"Updated to also cover the ESMA mandate\",\n   \"functions\": [\n      {}\n   ]\n})\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "example-3-python",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://provisioning.rs.int.{environment}.korfinancial.com/clients/{entityIdentifier}/rules/{ruleId}\"\n\npayload = json.dumps({\n   \"note\": \"Updated to also cover the ESMA mandate\",\n   \"functions\": [\n      {}\n   ]\n})\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json'\n}\n\nresponse = requests.request(\"PUT\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        }
      ],
      "selectedLanguageId": "example-0-curl"
    },
    "results": {
      "languages": [
        {
          "id": "response-0-202",
          "language": "202",
          "code": "// Rule update has been accepted\n"
        },
        {
          "id": "response-1-400",
          "language": "400",
          "code": "// Bad Request\n"
        },
        {
          "id": "response-2-401",
          "language": "401",
          "code": "// Unauthorized\n"
        },
        {
          "id": "response-3-403",
          "language": "403",
          "code": "// Forbidden\n"
        },
        {
          "id": "response-4-404",
          "language": "404",
          "code": "// Not Found\n"
        },
        {
          "id": "response-5-405",
          "language": "405",
          "code": "// Method Not Allowed\n"
        },
        {
          "id": "response-6-406",
          "language": "406",
          "code": "// Not Acceptable\n"
        },
        {
          "id": "response-7-415",
          "language": "415",
          "code": "// Unsupported Media Type\n"
        },
        {
          "id": "response-8-500",
          "language": "500",
          "code": "// Internal Server Error\n"
        },
        {
          "id": "response-9-504",
          "language": "504",
          "code": "// Gateway Timeout\n"
        },
        {
          "id": "response-10-default",
          "language": "default",
          "code": "// Internal Server Error\n"
        }
      ],
      "selectedLanguageId": "response-0-202"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}