# List all data attributes

You can fetch a list of all data attributes belonging to a workspace for contacts, companies or conversations.

Endpoint: GET /data_attributes
Version: 2.10
Security: bearerAuth

## Header parameters:

  - `Intercom-Version` (string)
    Intercom API version.By default, it's equal to the version set in the app package.
    Enum: "1.0", "1.1", "1.2", "1.3", "1.4", "2.0", "2.1", "2.2", "2.3", "2.4", "2.5", "2.6", "2.7", "2.8", "2.9", "2.10", "Preview"

## Query parameters:

  - `model` (string)
    Specify the data attribute model to return.
    Enum: "contact", "company", "conversation"

  - `include_archived` (boolean)
    Include archived attributes in the list. By default we return only non archived data attributes.

## Response 200 fields (application/json):

  - `type` (string)
    The type of the object
    Enum: "list"

  - `data` (array)
    A list of data attributes

  - `data.type` (string)
    Value is data_attribute.
    Enum: "data_attribute"

  - `data.id` (integer)
    The unique identifier for the data attribute which is given by Intercom. Only available for custom attributes.
    Example: 12878

  - `data.model` (string)
    Value is contact for user/lead attributes and company for company attributes.
    Enum: "contact", "company"

  - `data.name` (string)
    Name of the attribute.
    Example: "paid_subscriber"

  - `data.full_name` (string)
    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"

  - `data.label` (string)
    Readable name of the attribute (i.e. name you see in the UI)
    Example: "Paid Subscriber"

  - `data.description` (string)
    Readable description of the attribute.
    Example: "Whether the user is a paid subscriber."

  - `data.data_type` (string)
    The data type of the attribute.
    Enum: "string", "integer", "float", "boolean", "date"

  - `data.options` (array)
    List of predefined options for attribute value.
    Example: ["true","false"]

  - `data.api_writable` (boolean)
    Can this attribute be updated through API
    Example: true

  - `data.messenger_writable` (boolean)
    Can this attribute be updated by the Messenger

  - `data.ui_writable` (boolean)
    Can this attribute be updated in the UI
    Example: true

  - `data.custom` (boolean)
    Set to true if this is a CDA
    Example: true

  - `data.archived` (boolean)
    Is this attribute archived. (Only applicable to CDAs)

  - `data.created_at` (integer)
    The time the attribute was created as a UTC Unix timestamp
    Example: 1671028894

  - `data.updated_at` (integer)
    The time the attribute was last updated as a UTC Unix timestamp
    Example: 1671028894

  - `data.admin_id` (string)
    Teammate who created the attribute. Only applicable to CDAs
    Example: "5712945"

## Response 401 fields (application/json):

  - `type` (string, required)
    The type is error.list
    Example: "error.list"

  - `request_id` (string,null)
    Example: "f93ecfa8-d08a-4325-8694-89aeb89c8f85"

  - `errors` (array, required)
    An array of one or more error objects

  - `errors.code` (string, required)
    A string indicating the kind of error, used to further qualify the HTTP response code
    Example: "unauthorized"

  - `errors.message` (string,null)
    Optional. Human readable description of the error.
    Example: "Access Token Invalid"

  - `errors.field` (string,null)
    Optional. Used to identify a particular field or query parameter that was in error.
    Example: "email"


