Update a data attribute

Example Request & Response

$ curl https://api.intercom.io/data_attributes/163728 \\\n-X PUT \\\n-H 'Authorization:Bearer <Your access token>' \\\n-H 'Accept: application/json' \\\n-H 'Content-Type: application/json' -d\n\n{\n  \"description\": \"You are either great or bad\",\n  \"options\": [\n    {\"value\": \"great\"},\n    {\"value\": \"bad\"}\n  ]\n}

Example Errors

HTTP/1.1 404 NOT FOUND
{
  "type": "error.list",
  "request_id": "0006klvnje6ffng7ot80",
  "errors": [
    {
      "code": "field_not_found",
      "message": "We couldn't find that data attribute to update"
    }
  ]
}
HTTP/1.1 422 UNPROCESSIBLE ENTITY
{
  "type": "error.list",
  "request_id": "0006klvnje6ffng7ot80",
  "errors": [
    {
      "code": "data_invalid",
      "message": "The Data Attribute you are trying to archive has a dependant object"
    }
  ]
}
HTTP/1.1 400 BAD REQUEST
{
  "type": "error.list",
  "request_id": "0000rnvpf3m1f3nf4k40",
  "errors": [
    {
      "code": "parameter_invalid",
      "message": "You must have at least two options on a list type data attribute"
    }
  ]
}

You can update data attribute.

Request Body Parameters

ArgumentTypeDescription
descriptionString(Optional) The readable description you see in the UI for the attribute.
optionsList(Optional) To change to or update list attributes.
Provide a set of hashes with value as the key of the options you want to make.
data_type must be string.
archivedBoolean(Optional) Whether the attribute is to be archived or not.
messenger_writableBoolean(Optional). When set to false, the attribute will not be writable by the Messenger. Default value is true.

🚧 Updating the data type is not possible

It is currently a dangerous action to execute changing a data attribute's type via the API. You will need to update the type via the UI instead.

Response

This will return a Data Attribute Model showing the details of your updated attribute.