There's a new version of the HubSpot API

As of November 30, 2022, HubSpot API keys are no longer a supported authentication method for accessing HubSpot APIs. Instead, you should use a private app access token or OAuth to authenticate API calls. Learn more about this change and how to migrate an API key integration to use a private app instead.

Company Properties API Overview

There's a new version of the Company Properties API. We've redesigned our company API and it is out now in developer preview. Check out the new API

Company properties store details about your company records. HubSpot has several default company properties, but you can also create custom properties for specialized data. Company properties can also be used to filter company records in HubSpot.

The Company Properties API is used to get the details of your company properties and create or modify custom properties. It can also sync data between HubSpot and other systems, even as fields are added or updated.

Use case for this API: Your organization is using HubSpot and another CRM. You’ve added a new offering to your product suite, requiring you to track a new customer property. When the new property is added in your CRM, you can use the Company Properties integration to automatically add it to HubSpot as well. 

Companies, along with contacts, deals, tickets, line items, products, and quotes, are objects in the HubSpot CRM. For a more detailed look at HubSpot record types, you can use our Guide to Records.

Response details

Each property will return the following data:

{
  "name": "an_example_property",
  // String; The internal name of the property. The name should always be used when referencing the property through the API.
  "label": "An Example Property",
  // String; A human readable label for the property. The label is used when displaying the property in the HubSpot app.
  "description": "",
  // String; A description of the property. May be an empty string.
  "groupName": "companyinformation",
  // String; The property group that the property belongs to.
  "type": "enumeration",
  // String, one of string, number, date, datetime, or enumeration
  // The data type of the property. See creating a property for more details.
  "fieldType": "checkbox",
  // String, one of textarea, text, date, file, number, select, radio, checkbox, or booleancheckbox
  // Company fields can't currently be used in forms, but this controls how the property appears in the HubSpot app.
  "updatedUserId": 10101,
  // Integer, read-only. The internal user ID of the last user to update the property in the HubSpot app.
  // This field may not exist if the property was never modified inside HubSpot.
  "deleted": false,
  // Boolean; Whether or not the property is deleted. This will effectively always be false, as deleted properties will not appear in the API.
  "options": [
  // A list of valid options for the property.
  // Required for enumerated properties.
  // This list will be empty for other property types.
  // Each option will have the following format
    {
      "description": null,
      // String; A description of the option
      "label": "First",
      // String; The label of the option.  The label will be displayed inside the HubSpot app.
      "displayOrder": 0,
      // Integer; Options are displayed in order starting with the lowest positive integer value.
      // Values of -1 will cause the option to be displayed after any positive values.
      "hidden": false,
      // Boolean; Hidden options will not be displayed in HubSpot.
      "readOnly": null,
      // DEPRECATED, has no effect on the option.
      "doubleData": null,
      // DEPRECATED, has no effect on the option.
      "value": "first"
      // String; the internal value of the option.  The value of the option must be used when setting the value of the property through the API.
    },
    {
      "description": null,
      "label": "Second",
      "displayOrder": 1,
      "hidden": false,
      "readOnly": null,
      "doubleData": null,
      "value": "second"
    },
    {
      "description": null,
      "label": "Third",
      "displayOrder": 2,
      "hidden": false,
      "readOnly": null,
      "doubleData": null,
      "value": "third"
    },
    {
      "description": null,
      "label": "Fourth",
      "displayOrder": 3,
      "hidden": false,
      "readOnly": null,
      "doubleData": null,
      "value": "fourth"
    },
    {
      "description": null,
      "label": "Last",
      "displayOrder": 4,
      "hidden": false,
      "readOnly": null,
      "doubleData": null,
      "value": "last"
    }
  ],
  "formField": true,
  // Boolean; Has no effect for company properties.
  "displayOrder": 50,
  // Integer; 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.
  "readOnlyValue": false,
  // Boolean; A value of true means that the value cannot be set manually, and that only the HubSpot system can update the property.
  // Custom properties should always have this set to false, or the value can't be updated through the API.
  "readOnlyDefinition": false,
  // Boolean; A value of true means that the property settings can't be modified.
  // Custom properties should always have this as false, or the property can't be updated or deleted.
  "hidden": false,
  // Boolean; Hidden fields will not appear in the HubSpot UI
  "mutableDefinitionNotDeletable": false,
  // Boolean; true indicates that the property settings can be modified, but the property cannot be deleted
  // Custom properties should use false
  "favorited": false,
  // DEPRECATED, has no effect on the property
  "favoritedOrder": -1,
  // DEPRECATED, has no effect on the property
  "calculated": false,
  // Boolean; For system properties, true indicates that the property is calculated by a HubSpot process
  // Has no effect for custom properties
  "externalOptions": false,
  // Boolean; For system properties, true indicates that the options are stored 
  // Has no effect on custom properties 
  "displayMode": "current_value",
  // DEPRECATED, has no effect on the property
  "createdUserId": 10101
  // Integer, read-only. The internal user ID of the user that created the property in the HubSpot app.
  // This field may not exist if the property was not created inside HubSpot.
}

Docs for this section or API