Skip to content

Create a new attribute for a ticket type

Request

You can create a new attribute for a ticket type.

Security
bearerAuth
Path
ticket_type_idstringrequired

The unique identifier for the ticket type which is given by Intercom.

Headers
Intercom-Versionstring(intercom_version)

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

Default:"Preview"
Enum:"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example:Preview
Bodyapplication/json
namestringrequired

The name of the ticket type attribute

Example:"Bug Priority"
descriptionstringrequired

The description of the attribute presented to the teammate or contact

Example:"Priority level of the bug"
data_typestringrequired

The data type of the attribute

Enum:"string""list""integer""decimal""boolean""datetime""files"
Example:"string"
required_to_createboolean

Whether the attribute is required to be filled in when teammates are creating the ticket in Inbox.

Default:false
Example:false
required_to_create_for_contactsboolean

Whether the attribute is required to be filled in when contacts are creating the ticket in Messenger.

Default:false
Example:false
visible_on_createboolean

Whether the attribute is visible to teammates when creating a ticket in Inbox.

Default:true
Example:true
visible_to_contactsboolean

Whether the attribute is visible to contacts when creating a ticket in Messenger.

Default:true
Example:true
multilineboolean

Whether the attribute allows multiple lines of text (only applicable to string attributes)

Example:false
list_itemsstring

A comma delimited list of items for the attribute value (only applicable to list attributes)

Example:"Low Priority,Medium Priority,High Priority"
allow_multiple_valuesboolean

Whether the attribute allows multiple files to be attached to it (only applicable to file attributes)

Example:false
/**
 * Requires libcurl
 */

const ticketTypeId = "YOUR_ticket_type_id_PARAMETER";
$curl = curl_init();

$payload = array(
  "name" => "Attribute Title",
  "description" => "Attribute Description",
  "data_type" => "string",
  "required_to_create" => false
);

curl_setopt_array($curl, [
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer <YOUR_TOKEN_HERE>",
    "Content-Type: application/json",
    "Intercom-Version: Preview"
  ],
  CURLOPT_POSTFIELDS => json_encode($payload),
  CURLOPT_URL => "https://api.intercom.io/ticket_types/" . ticketTypeId . "/attributes",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
]);

$response = curl_exec($curl);
$error = curl_error($curl);

curl_close($curl);

if ($error) {
  echo "cURL Error #:" . $error;
} else {
  echo $response;
}

Responses

Ticket Type Attribute created

Bodyapplication/json
typestring

String representing the object's type. Always has the value ticket_type_attribute.

Example:"ticket_type_attribute"
idstring

The id representing the ticket type attribute.

Example:"1"
workspace_idstring

The id of the workspace that the ticket type attribute belongs to.

Example:"ecahpwf5"
namestring

The name of the ticket type attribute

Example:"Title"
descriptionstring

The description of the ticket type attribute

Example:"Bug title."
data_typestring

The type of the data attribute (allowed values: "string list integer decimal boolean datetime files")

Example:"string"
input_optionsobject

Input options for the attribute

Example:"multiline: true"
orderinteger

The order of the attribute against other attributes

Example:1
required_to_createboolean

Whether the attribute is required or not for teammates.

Default:false
Example:false
required_to_create_for_contactsboolean

Whether the attribute is required or not for contacts.

Default:false
Example:false
visible_on_createboolean

Whether the attribute is visible or not to teammates.

Default:true
Example:false
visible_to_contactsboolean

Whether the attribute is visible or not to contacts.

Default:true
Example:false
defaultboolean

Whether the attribute is built in or not.

Example:true
ticket_type_idinteger

The id of the ticket type that the attribute belongs to.

Example:42
archivedboolean

Whether the ticket type attribute is archived or not.

Example:false
created_atinteger, (timestamp)

The date and time the ticket type attribute was created.

updated_atinteger, (timestamp)

The date and time the ticket type attribute was last updated.

Response
{ "type": "ticket_type_attribute", "id": "157", "workspace_id": "this_is_an_id640_that_should_be_at_least_", "name": "Attribute Title", "description": "Attribute Description", "data_type": "string", "input_options": { "multiline": false }, "order": 2, "required_to_create": false, "required_to_create_for_contacts": false, "visible_on_create": true, "visible_to_contacts": true, "default": false, "ticket_type_id": 63, "archived": false, "created_at": 1734537862, "updated_at": 1734537862 }