Skip to main content
POST
/
crm
/
v3
/
properties
/
{objectType}
Create a property
curl --request POST \
  --url https://api.hubapi.com/crm/v3/properties/{objectType} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "displayOrder": 2,
  "fieldType": "select",
  "formField": true,
  "groupName": "contactinformation",
  "hasUniqueValue": false,
  "hidden": false,
  "label": "My Contact Property",
  "name": "my_contact_property",
  "options": [
    {
      "description": "Choice number one",
      "displayOrder": 1,
      "hidden": false,
      "label": "Option A",
      "value": "A"
    },
    {
      "description": "Choice number two",
      "displayOrder": 2,
      "hidden": false,
      "label": "Option B",
      "value": "B"
    }
  ],
  "type": "enumeration"
}
'
{
  "displayOrder": 2,
  "fieldType": "select",
  "formField": true,
  "groupName": "contactinformation",
  "hasUniqueValue": false,
  "hidden": false,
  "label": "My Contact Property",
  "modificationMetadata": {
    "archivable": true,
    "readOnlyDefinition": false,
    "readOnlyOptions": false,
    "readOnlyValue": false
  },
  "name": "my_contact_property",
  "options": [
    {
      "description": "Choice number one",
      "displayOrder": 1,
      "hidden": false,
      "label": "Option A",
      "value": "A"
    },
    {
      "description": "Choice number two",
      "displayOrder": 2,
      "hidden": false,
      "label": "Option B",
      "value": "B"
    }
  ],
  "type": "enumeration"
}

Supported products

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Path Parameters

objectType
string
required

Body

application/json
fieldType
enum<string>
required

Controls how the property appears in HubSpot.

Available options:
booleancheckbox,
calculation_equation,
checkbox,
date,
file,
html,
number,
phonenumber,
radio,
select,
text,
textarea
groupName
string
required

The name of the property group the property belongs to.

label
string
required

A human-readable property label that will be shown in HubSpot.

name
string
required

The internal property name, which must be used when referencing the property via the API.

type
enum<string>
required

The data type of the property.

Available options:
bool,
date,
datetime,
enumeration,
number,
phone_number,
string
calculationFormula
string

Represents a formula that is used to compute a calculated property.

dataSensitivity
enum<string>

Indicates the sensitivity level of the property, with options: highly_sensitive, non_sensitive, or sensitive.

Available options:
highly_sensitive,
non_sensitive,
sensitive
description
string

A description of the property that will be shown as help text in HubSpot.

displayOrder
integer<int32>

Properties are displayed in order starting with the lowest positive integer value. Values of -1 will cause the property to be displayed after any positive values.

externalOptions
boolean

Applicable only for 'enumeration' type properties. Should be set to true in conjunction with a 'referencedObjectType' of 'OWNER'. Otherwise false.

formField
boolean

Whether or not the property can be used in a HubSpot form.

hasUniqueValue
boolean

Whether or not the property's value must be unique. Once set, this can't be changed.

hidden
boolean

If true, the property won't be visible and can't be used in HubSpot.

options
object[]

A list of valid options for the property. This field is required for enumerated properties.

referencedObjectType
string

Should be set to 'OWNER' when 'externalOptions' is true, which causes the property to dynamically pull option values from the current HubSpot users.

Response

successful operation

A HubSpot property

description
string
required

A description of the property that will be shown as help text in HubSpot.

fieldType
string
required

Controls how the property appears in HubSpot.

groupName
string
required

The name of the property group the property belongs to.

label
string
required

A human-readable property label that will be shown in HubSpot.

name
string
required

The internal property name, which must be used when referencing the property via the API.

options
object[]
required

A list of valid options for the property. This field is required for enumerated properties, but will be empty for other property types.

type
string
required

The property data type.

archived
boolean

Whether or not the property is archived.

archivedAt
string<date-time>

When the property was archived.

calculated
boolean

For default properties, true indicates that the property is calculated by a HubSpot process. It has no effect for custom properties.

calculationFormula
string

Represents a formula that is used to compute a calculated property.

createdAt
string<date-time>

The timestamp when the property was created, in ISO 8601 format.

createdUserId
string

The internal user ID of the user who created the property in HubSpot. This field may not exist if the property was created outside of HubSpot.

dataSensitivity
enum<string>

Indicates the sensitivity level of the property, such as "non_sensitive", "sensitive", or "highly_sensitive".

Available options:
highly_sensitive,
non_sensitive,
sensitive
dateDisplayHint
enum<string>

Indicates how date values should be displayed, with options such as 'absolute', 'absolute_with_relative', 'time_since', or 'time_until'.

Available options:
absolute,
absolute_with_relative,
time_since,
time_until
displayOrder
integer<int32>

Properties are shown in order, starting with the lowest positive integer value.

externalOptions
boolean

For default properties, true indicates that the options are stored externally to the property settings.

formField
boolean

Whether or not the property can be used in a HubSpot form.

hasUniqueValue
boolean

Whether or not the property's value must be unique. Once set, this can't be changed.

hidden
boolean

Whether or not the property will be hidden from the HubSpot UI. It's recommended this be set to false for custom properties.

Example:

false

hubspotDefined
boolean

This will be true for default object properties built into HubSpot.

modificationMetadata
object
referencedObjectType
string

If this property is related to other object(s), they'll be listed here.

sensitiveDataCategories
string[]

When sensitiveData is true, lists the type of sensitive data contained in the property (e.g., "HIPAA").

showCurrencySymbol
boolean

Whether or not the property will display the currency symbol set in the account settings.

updatedAt
string<date-time>

The timestamp when the property was last updated, in ISO 8601 format.

updatedUserId
string

The internal user ID of the user who updated the property in HubSpot. This field may not exist if the property was updated outside of HubSpot.

Last modified on March 30, 2026