Skip to content
Dashboard

Get a conversation custom attribute by ID

client.conversationAttributes.retrieve(stringid, ConversationAttributeRetrieveParams { featurebaseVersion } params?, RequestOptionsoptions?): ConversationAttribute { id, archived, dataType, 7 more }
GET/v2/conversation_attributes/{id}

Retrieves a single conversation custom attribute definition by its stable ID.

Use this when a conversation response contains a customAttributes key and you need the corresponding display name, identifier, data type, field subtype, or options.

ParametersExpand Collapse
id: string

Conversation custom attribute unique identifier

params: ConversationAttributeRetrieveParams { featurebaseVersion }
featurebaseVersion?: "2026-01-01.nova" | "2025-12-12.clover"

API version for this request. Defaults to your organization’s configured API version if not specified.

One of the following:
"2026-01-01.nova"
"2025-12-12.clover"
ReturnsExpand Collapse
ConversationAttribute { id, archived, dataType, 7 more }
id: string

Stable machine identifier used as the key in conversation.customAttributes.

archived: boolean

Whether this definition has been archived.

dataType: "string" | "number" | "boolean" | 3 more

Storage-level data type used for validation and search.

One of the following:
"string"
"number"
"boolean"
"date"
"array"
"object"
fieldSubType: "text" | "number" | "select" | 3 more

Conversation field subtype that controls the expected value shape.

One of the following:
"text"
"number"
"select"
"multi-select"
"checkbox"
"date"
identifier: string

Stable internal identifier for the attribute definition.

name: string

Human-readable attribute name shown in Featurebase.

object: "conversation_attribute"

Object type identifier

createdAt?: string

ISO timestamp when the attribute was created.

options?: Array<ConversationAttributeOption { label, id } >

Allowed values for select and multi-select attributes.

label: string

Option display label

id?: string

Option unique identifier when stored for this option.

updatedAt?: string

ISO timestamp when the attribute was last updated.

Get a conversation custom attribute by ID

import Featurebase from 'featurebase-node';

const client = new Featurebase({
  apiKey: process.env['FEATUREBASE_API_KEY'], // This is the default and can be omitted
});

const conversationAttribute = await client.conversationAttributes.retrieve(
  '65d26304b2e65b1e1278170c',
);

console.log(conversationAttribute.id);
{
  "id": "65d26304b2e65b1e1278170c",
  "archived": false,
  "dataType": "number",
  "fieldSubType": "number",
  "identifier": "conversations.customFields.Minutes_to_Resolve",
  "name": "Minutes to Resolve",
  "object": "conversation_attribute",
  "createdAt": "2026-06-09T16:00:19.000Z",
  "options": [
    {
      "label": "Enterprise",
      "id": "65d26304b2e65b1e1278170d"
    }
  ],
  "updatedAt": "2026-06-09T16:00:19.000Z"
}
Returns Examples
{
  "id": "65d26304b2e65b1e1278170c",
  "archived": false,
  "dataType": "number",
  "fieldSubType": "number",
  "identifier": "conversations.customFields.Minutes_to_Resolve",
  "name": "Minutes to Resolve",
  "object": "conversation_attribute",
  "createdAt": "2026-06-09T16:00:19.000Z",
  "options": [
    {
      "label": "Enterprise",
      "id": "65d26304b2e65b1e1278170d"
    }
  ],
  "updatedAt": "2026-06-09T16:00:19.000Z"
}