---
title: Update Custom Consent Categories and data-points.
slug: api-documentation/update-custom-consent-categories-and-data-points
docTags: 
createdAt: 2026-08-27T17:02:39.001Z
---

{
  "id": "80WnlnEeSSG4I8ujtb21U",
  "type": "api-oas-v2",
  "data": {
    "method": "PUT",
    "url": "https://api.upstartcommerce.com/v1/customer/consent/categories/{categoryId}",
    "servers": [
      {
        "url": "https://api.upstartcommerce.com/v1/customer/consent/categories/{categoryId}"
      }
    ],
    "name": "Update Custom Consent Categories and data-points.",
    "description": "<p>Allows tenants to update existing custom consent category.\nThe request body should include the <code>CustomConsentCategory</code> object with the updated values.</p>",
    "contentType": "application/json",
    "request": {
      "pathParameters": [
        {
          "kind": "required",
          "name": "categoryId",
          "type": "string",
          "example": "8ad2f2d1-91fc-40bd-8f94-64c787fa009f",
          "description": "The unique identifier of the Consent Category to be updated."
        }
      ],
      "headerParameters": [
        {
          "name": "accept",
          "type": "string",
          "kind": "optional",
          "description": "Generated from available response content types",
          "enum": [
            "application/json"
          ],
          "default": "application/json"
        },
        {
          "kind": "required",
          "name": "x-upstart-tenant",
          "type": "string",
          "description": "Tenant identifier associated with the site."
        }
      ],
      "queryParameters": [],
      "bodyDataParameters": [
        {
          "kind": "required",
          "name": "body",
          "type": "object",
          "description": "",
          "customType": "CustomConsentCategoryUpdateRequest",
          "schema": [
            {
              "name": "id",
              "kind": "optional",
              "type": "string",
              "description": "Unique identifier of the custom consent category."
            },
            {
              "name": "tenant",
              "kind": "required",
              "type": "string",
              "description": ""
            },
            {
              "name": "name",
              "kind": "required",
              "type": "string",
              "description": "The updated name of the custom consent category."
            },
            {
              "name": "description",
              "kind": "required",
              "type": "string",
              "description": "The updated description for the custom consent category."
            },
            {
              "name": "dataPoint",
              "kind": "required",
              "type": "array",
              "description": "A list of updated data points associated with the custom consent category.",
              "example": "",
              "itemType": "string",
              "customType": "string[]",
              "itemExample": "",
              "itemDefault": ""
            },
            {
              "name": "siteIds",
              "kind": "required",
              "type": "array",
              "description": "<p>A list of site IDs where this category applies (optional).</p>",
              "example": "",
              "itemType": "string",
              "customType": "string[]",
              "itemExample": "",
              "itemDefault": ""
            }
          ],
          "modelRef": "#/components/schemas/CustomConsentCategoryUpdateRequest",
          "isExpanded": true
        }
      ],
      "formDataParameters": [],
      "oAuthParameters": [
        {
          "id": "ApiKeyAccess",
          "name": "X-Upstart-Api-Key",
          "kind": "optional",
          "type": "apiKey",
          "description": "Api key based authorization.",
          "in": "header"
        },
        {
          "id": "SessionIdAccess",
          "name": "X-Upstart-Session-Id",
          "kind": "optional",
          "type": "apiKey",
          "description": "<p>Session based authorization. This authentication is required for clients to interact with any of the management APIs. Similar to 'LoggedIn', it indicates that the user has actually logged into the system, but in this case with a management role.</p>",
          "in": "header"
        }
      ],
      "cookieParameters": []
    },
    "responses": [
      {
        "statusCode": "200",
        "description": "Custom Consent Categories Updated Successfully",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "CustomConsentCategoryUpdateResponse",
            "schema": [
              {
                "name": "tenant",
                "kind": "required",
                "type": "string",
                "description": "The tenant ID associated with the custom consent category."
              },
              {
                "name": "siteIds",
                "kind": "optional",
                "type": "array",
                "description": "List of site IDs associated with the custom consent category. This field is optional.",
                "example": "",
                "itemType": "string",
                "customType": "string[]",
                "itemExample": "",
                "itemDefault": ""
              },
              {
                "name": "id",
                "kind": "required",
                "type": "string",
                "description": "Unique identifier of the custom consent category."
              },
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": "The name of the custom consent category."
              },
              {
                "name": "description",
                "kind": "optional",
                "type": "string",
                "description": "The description of the custom consent category."
              },
              {
                "name": "dataPoint",
                "kind": "required",
                "type": "array",
                "description": "List of data points associated with the custom consent category.",
                "example": "",
                "itemType": "string",
                "customType": "string[]",
                "itemExample": "",
                "itemDefault": ""
              }
            ],
            "modelRef": "#/components/schemas/CustomConsentCategoryUpdateResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "400",
        "description": "The request contained information that the server was unable to process. Appropriate errors are provided in the response body.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "array",
            "description": "Error response for validation errors",
            "customType": "ValidationErrorResponse[]",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "detail",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "reason",
                "kind": "optional",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/ValidationErrorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "401",
        "description": "The provided credentials were not valid for this endpoint.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "UnauthorizedErrorResponse",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "detail",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "reason",
                "kind": "optional",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/UnauthorizedErrorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "403",
        "description": "User's roles are insufficient for this endpoint.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "ErrorResponse",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "detail",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "reason",
                "kind": "optional",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/ErrorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "404",
        "description": "The requested resource was not found in the NoChannel system.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "ErrorResponse",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "detail",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "reason",
                "kind": "optional",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/ErrorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "405",
        "description": "This is to indicate that the server has received a request with an HTTP method that is not supported for the requested resource.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "ErrorResponse",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "detail",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "reason",
                "kind": "optional",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/ErrorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "409",
        "description": "This response indicates that the server cannot process the request due to a conflict with the current state of the resource.  This typically occurs when a request attempts to create or modify a resource that already exists or conflicts with another resource.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "ConflictErrorResponse",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "detail",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "reason",
                "kind": "optional",
                "type": "string",
                "description": ""
              },
              {
                "name": "conflicts",
                "kind": "required",
                "type": "array",
                "description": "List of conflicting data points and their details",
                "modelRef": "#/components/schemas/ConflictDetail",
                "customType": "ConflictDetail[]",
                "schema": [
                  {
                    "name": "index",
                    "kind": "required",
                    "type": "integer",
                    "description": "Index of the conflicting data point in the request array"
                  },
                  {
                    "name": "id",
                    "kind": "required",
                    "type": "string",
                    "description": "ID of the conflicting data point"
                  },
                  {
                    "name": "existingResource",
                    "kind": "required",
                    "type": "string",
                    "description": "Reference to the existing resource that caused the conflict"
                  }
                ]
              }
            ],
            "modelRef": "#/components/schemas/ConflictErrorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "423",
        "description": "<p>Consent Management is disabled or locked for the tenant, so consent operations are not allowed.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "array",
            "description": "Error response for validation errors",
            "customType": "ValidationErrorResponse[]",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "detail",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "reason",
                "kind": "optional",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/ValidationErrorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "500",
        "description": "There was an internal server error.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "ErrorResponse",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "detail",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "reason",
                "kind": "optional",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/ErrorResponse",
            "isExpanded": true
          }
        ]
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "9GqzW_nke8OL4ATa8o_8b",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request PUT \\\n     --url https://api.upstartcommerce.com/v1/customer/consent/categories/{categoryId} \\\n     --header 'accept: application/json' \\\n     --header 'content-type: application/json' \\\n     --header 'x-upstart-tenant: string' \\\n     --data '{\n     \"tenant\": \"\",\n     \"name\": \"\",\n     \"description\": \"\",\n     \"dataPoint\": [],\n     \"siteIds\": []\n     }'"
        },
        {
          "id": "DltmYLAyZgwHr3C2n9AVs",
          "language": "javascript",
          "label": "javascript",
          "code": "var myHeaders = new Headers();\nmyHeaders.append(\"accept\", \"application/json\");\nmyHeaders.append(\"content-type\", \"application/json\");\nmyHeaders.append(\"x-upstart-tenant\", \"string\");\n\nvar raw = JSON.stringify({\n   \"tenant\": \"\",\n   \"name\": \"\",\n   \"description\": \"\",\n   \"dataPoint\": [],\n   \"siteIds\": []\n});\n\nvar requestOptions = {\n   method: 'PUT',\n   headers: myHeaders,\n   body: raw,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.upstartcommerce.com/v1/customer/consent/categories/{categoryId}\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "dMRMKIwSZoSiDNazyrAaw",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.upstartcommerce.com/v1/customer/consent/categories/{categoryId}\")\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[\"x-upstart-tenant\"] = \"string\"\nrequest.body = JSON.dump({\n   \"tenant\": \"\",\n   \"name\": \"\",\n   \"description\": \"\",\n   \"dataPoint\": [],\n   \"siteIds\": []\n})\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "ValquzplIB__0sX17UEAE",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.upstartcommerce.com/v1/customer/consent/categories/{categoryId}\"\n\npayload = json.dumps({\n   \"tenant\": \"\",\n   \"name\": \"\",\n   \"description\": \"\",\n   \"dataPoint\": [],\n   \"siteIds\": []\n})\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json',\n   'x-upstart-tenant': 'string'\n}\n\nresponse = requests.request(\"PUT\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        }
      ],
      "selectedLanguageId": "9GqzW_nke8OL4ATa8o_8b"
    },
    "results": {
      "languages": [
        {
          "id": "eiNXCMskCCiq_vx4d5BYd",
          "language": "200",
          "code": "// Custom Consent Categories Updated Successfully\n{\n  \"tenant\": \"\",\n  \"siteIds\": [\n    \"\"\n  ],\n  \"id\": \"\",\n  \"name\": \"\",\n  \"description\": \"\",\n  \"dataPoint\": [\n    \"\"\n  ]\n}"
        },
        {
          "id": "F4Dd3huCUKWq01s3TM7bK",
          "language": "400",
          "code": "// The request contained information that the server was unable to process. Appropriate errors are provided in the response body.\n[\n  {\n    \"name\": \"\",\n    \"code\": \"\",\n    \"detail\": \"\",\n    \"reason\": \"\"\n  }\n]"
        },
        {
          "id": "ZmE_k5SGRFTtxAM7_JJPa",
          "language": "401",
          "code": "// The provided credentials were not valid for this endpoint.\n{\n  \"name\": \"\",\n  \"code\": \"\",\n  \"detail\": \"\",\n  \"reason\": \"\"\n}"
        },
        {
          "id": "mShqgHeSz20JxFtYatk2D",
          "language": "403",
          "code": "// User's roles are insufficient for this endpoint.\n{\n  \"name\": \"\",\n  \"code\": \"\",\n  \"detail\": \"\",\n  \"reason\": \"\"\n}"
        },
        {
          "id": "DyRTrErNZj9uFAOnIqZOu",
          "language": "404",
          "code": "// The requested resource was not found in the NoChannel system.\n{\n  \"name\": \"\",\n  \"code\": \"\",\n  \"detail\": \"\",\n  \"reason\": \"\"\n}"
        },
        {
          "id": "RDtIJlN4rl1Kq3CR8nJ8_",
          "language": "405",
          "code": "// This is to indicate that the server has received a request with an HTTP method that is not supported for the requested resource.\n{\n  \"name\": \"\",\n  \"code\": \"\",\n  \"detail\": \"\",\n  \"reason\": \"\"\n}"
        },
        {
          "id": "BcKoJaAkmThUnKA44Ae2t",
          "language": "409",
          "code": "// This response indicates that the server cannot process the request due to a conflict with the current state of the resource.  This typically occurs when a request attempts to create or modify a resource that already exists or conflicts with another resource.\n{\n  \"name\": \"\",\n  \"code\": \"\",\n  \"detail\": \"\",\n  \"reason\": \"\",\n  \"conflicts\": [\n    {\n      \"index\": 0,\n      \"id\": \"\",\n      \"existingResource\": \"\"\n    }\n  ]\n}"
        },
        {
          "id": "SzjknXi6PjFyzm1KVOlMx",
          "language": "423",
          "code": "// Consent Management is disabled or locked for the tenant, so consent operations are not allowed.\n[\n  {\n    \"name\": \"\",\n    \"code\": \"\",\n    \"detail\": \"\",\n    \"reason\": \"\"\n  }\n]"
        },
        {
          "id": "sgYRZr9Wv5kBCrD0aL-0m",
          "language": "500",
          "code": "// There was an internal server error.\n{\n  \"name\": \"\",\n  \"code\": \"\",\n  \"detail\": \"\",\n  \"reason\": \"\"\n}"
        }
      ],
      "selectedLanguageId": "eiNXCMskCCiq_vx4d5BYd"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}