Skip to content

Update a data attribute

Request

You can update a data attribute.

🚧 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.

Security
bearerAuth
Path
idintegerrequired

The data attribute id

Example:1
Headers
Intercom-Versionstring(intercom_version)

Intercom API version.
By default, it's equal to the version set in the app package.

Default:"2.9"
Enum:"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example:2.9
Bodyapplication/json
One of:
archivedboolean

Whether the attribute is to be archived or not.

Example:false
descriptionstring

The readable description you see in the UI for the attribute.

Example:"My Data Attribute Description"
messenger_writableboolean

Can this attribute be updated by the Messenger

Example:false
optionsArray of objectsrequired

Array of objects representing the options of the list, with value as the key and the option as the value. At least two options are required.

Example:
[ { "value": "1-10" }, { "value": "11-50" } ]
curl -i -X PUT \
  https://api.intercom.io/data_attributes/1 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: 2.9' \
  -d '{
    "description": "Just a plain old ring",
    "options": [
      {
        "value": "1-10"
      },
      {
        "value": "11-20"
      }
    ],
    "archived": false
  }'

Responses

Successful

Bodyapplication/json
typestring

Value is data_attribute.

Value:"data_attribute"
Example:"data_attribute"
idinteger

The unique identifier for the data attribute which is given by Intercom. Only available for custom attributes.

Example:12878
modelstring

Value is contact for user/lead attributes and company for company attributes.

Enum:"contact""company"
Example:"contact"
namestring

Name of the attribute.

Example:"paid_subscriber"
full_namestring

Full name of the attribute. Should match the name unless it's a nested attribute. We can split full_name on . to access nested user object values.

Example:"custom_attributes.paid_subscriber"
labelstring

Readable name of the attribute (i.e. name you see in the UI)

Example:"Paid Subscriber"
descriptionstring

Readable description of the attribute.

Example:"Whether the user is a paid subscriber."
data_typestring

The data type of the attribute.

Enum:"string""integer""float""boolean""date"
Example:"boolean"
optionsArray of strings

List of predefined options for attribute value.

Example:
[ "true", "false" ]
api_writableboolean

Can this attribute be updated through API

Example:true
messenger_writableboolean

Can this attribute be updated by the Messenger

Example:false
ui_writableboolean

Can this attribute be updated in the UI

Example:true
customboolean

Set to true if this is a CDA

Example:true
archivedboolean

Is this attribute archived. (Only applicable to CDAs)

Example:false
created_atinteger, (date-time)

The time the attribute was created as a UTC Unix timestamp

Example:1671028894
updated_atinteger, (date-time)

The time the attribute was last updated as a UTC Unix timestamp

Example:1671028894
admin_idstring

Teammate who created the attribute. Only applicable to CDAs

Example:"5712945"
Response
{ "id": 44, "type": "data_attribute", "name": "The One Ring", "full_name": "custom_attributes.The One Ring", "label": "The One Ring", "description": "Just a plain old ring", "data_type": "string", "options": [ "1-10", "11-20" ], "api_writable": true, "ui_writable": false, "messenger_writable": true, "custom": true, "archived": false, "admin_id": "991267552", "created_at": 1717021600, "updated_at": 1717021601, "model": "company" }