ObjectTypePropertyCreate
{
"type": "object",
"example": {
"type": "enumeration",
"label": "My object property",
"options": [
{
"label": "Option A",
"value": "A",
"description": "Choice number one",
"displayOrder": 1
},
{
"label": "Option B",
"value": "B",
"description": "Choice number two",
"displayOrder": 2
}
],
"fieldType": "select",
"groupName": "my_object_information",
"displayOrder": 2,
"hasUniqueValue": false
},
"required": [
"fieldType",
"label",
"name",
"type"
],
"properties": {
"name": {
"type": "string",
"description": "The internal property name, which must be used when referencing the property from the API."
},
"type": {
"enum": [
"string",
"number",
"date",
"datetime",
"enumeration",
"bool"
],
"type": "string",
"example": "enumeration",
"description": "The data type of the property."
},
"label": {
"type": "string",
"example": "My object property",
"description": "A human-readable property label that will be shown in HubSpot."
},
"hidden": {
"type": "boolean"
},
"options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OptionInput"
},
"example": [
{
"label": "Option A",
"value": "A",
"description": "Choice number one",
"displayOrder": 1
},
{
"label": "Option B",
"value": "B",
"description": "Choice number two",
"displayOrder": 2
}
],
"description": "A list of available options for the property. This field is only required for enumerated properties."
},
"fieldType": {
"type": "string",
"example": "select",
"description": "Controls how the property appears in HubSpot."
},
"formField": {
"type": "boolean",
"description": "Whether the property can be used in a HubSpot form."
},
"groupName": {
"type": "string",
"example": "my_object_information",
"description": "The name of the group this property belongs to."
},
"description": {
"type": "string",
"description": "A description of the property that will be shown as help text in HubSpot."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "The order that this property should be displayed in the HubSpot UI relative to other properties for this object type. Properties are displayed in order starting with the lowest positive integer value. A value of -1 will cause the property to be displayed **after** any positive values."
},
"hasUniqueValue": {
"type": "boolean",
"example": false,
"description": "Whether or not the property's value must be unique. Once set, this can't be changed."
},
"textDisplayHint": {
"enum": [
"unformatted_single_line",
"multi_line",
"email",
"phone_number",
"domain_name",
"ip_address",
"physical_address",
"postal_code"
],
"type": "string",
"description": "Controls how text properties are formatted in the HubSpot UI"
},
"numberDisplayHint": {
"enum": [
"unformatted",
"formatted",
"currency",
"percentage",
"duration",
"probability"
],
"type": "string",
"description": "Controls how numeric properties are formatted in the HubSpot UI"
},
"optionSortStrategy": {
"enum": [
"DISPLAY_ORDER",
"ALPHABETICAL"
],
"type": "string",
"description": "Controls how the property options will be sorted in the HubSpot UI."
},
"showCurrencySymbol": {
"type": "boolean",
"description": "Whether the property will display the currency symbol in the HubSpot UI."
},
"referencedObjectType": {
"type": "string",
"description": "Defines the options this property will return, e.g. OWNER would return name of users on the portal."
},
"searchableInGlobalSearch": {
"type": "boolean",
"description": "Allow users to search for information entered to this field (limited to 3 properties)"
}
},
"description": "Defines a property to create."
}
Option
{
"type": "object",
"example": {
"label": "Option A",
"value": "A",
"hidden": false,
"description": "Choice number one",
"displayOrder": 1
},
"required": [
"hidden",
"label",
"value"
],
"properties": {
"label": {
"type": "string",
"example": "Option A",
"description": "A human-readable option label that will be shown in HubSpot."
},
"value": {
"type": "string",
"example": "A",
"description": "The internal value of the option, which must be used when setting the property value through the API."
},
"hidden": {
"type": "boolean",
"example": false,
"description": "Hidden options will not be displayed in HubSpot."
},
"description": {
"type": "string",
"example": "Choice number one",
"description": "A description of the option."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "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."
}
},
"description": "The options available when a property is an enumeration"
}
OptionInput
{
"type": "object",
"example": {
"label": "Option A",
"value": "A",
"hidden": false,
"description": "Choice number one",
"displayOrder": 1
},
"required": [
"displayOrder",
"hidden",
"label",
"value"
],
"properties": {
"label": {
"type": "string",
"example": "Option A",
"description": "A human-readable option label that will be shown in HubSpot."
},
"value": {
"type": "string",
"example": "A",
"description": "The internal value of the option, which must be used when setting the property value through the API."
},
"hidden": {
"type": "boolean",
"example": false,
"description": "Hidden options won't be shown in HubSpot."
},
"description": {
"type": "string",
"example": "Choice number one",
"description": "A description of the option."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Options are shown in order starting with the lowest positive integer value. Values of -1 will cause the option to be displayed after any positive values."
}
},
"description": "Defines a enumeration property option"
}
Paging
{
"type": "object",
"properties": {
"next": {
"$ref": "#/components/schemas/NextPage"
},
"prev": {
"$ref": "#/components/schemas/PreviousPage"
}
}
}
Pipeline
{
"type": "object",
"example": {
"id": "812723471",
"label": "My ticket pipeline",
"stages": [
{
"id": "1234912X",
"label": "In Progress",
"archived": false,
"metadata": {
"ticketState": "OPEN"
},
"createdAt": "2019-10-30T03:30:17.883Z",
"updatedAt": "2019-12-07T16:50:06.678Z",
"displayOrder": 0
},
{
"id": "1234914X",
"label": "Done",
"archived": false,
"metadata": {
"ticketState": "CLOSED"
},
"createdAt": "2019-10-30T03:30:17.883Z",
"updatedAt": "2019-12-07T16:50:06.678Z",
"displayOrder": 0
}
],
"archived": false,
"createdAt": "2019-10-30T03:30:17.883Z",
"updatedAt": "2019-12-07T16:50:06.678Z",
"displayOrder": 0
},
"required": [
"archived",
"createdAt",
"displayOrder",
"id",
"label",
"stages",
"updatedAt"
],
"properties": {
"id": {
"type": "string",
"example": "812723471",
"description": "A unique identifier generated by HubSpot that can be used to retrieve and update the pipeline."
},
"label": {
"type": "string",
"example": "My ticket pipeline",
"description": "A unique label used to organize pipelines in HubSpot's UI"
},
"stages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PipelineStage"
},
"example": [
{
"id": "1234912X",
"label": "In Progress",
"archived": false,
"metadata": {
"ticketState": "OPEN"
},
"createdAt": "2019-10-30T03:30:17.883Z",
"updatedAt": "2019-12-07T16:50:06.678Z",
"displayOrder": 0
},
{
"id": "1234914",
"label": "Done",
"archived": false,
"metadata": {
"ticketState": "CLOSED"
},
"createdAt": "2019-10-30T03:30:17.883Z",
"updatedAt": "2019-12-07T16:50:06.678Z",
"displayOrder": 0
}
],
"description": "The stages associated with the pipeline. They can be retrieved and updated via the pipeline stages endpoints."
},
"archived": {
"type": "boolean",
"example": false,
"description": "Whether the pipeline is archived."
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "The date the pipeline was created. The default pipelines will have createdAt = 0."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "The date the pipeline was last updated."
},
"archivedAt": {
"type": "string",
"format": "date-time",
"description": "The date the pipeline was archived. `archivedAt` will only be present if the pipeline is archived."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 0,
"description": "The order for displaying this pipeline. If two pipelines have a matching `displayOrder`, they will be sorted alphabetically by label."
}
},
"description": "A pipeline definition."
}
PipelineInput
{
"type": "object",
"example": {
"label": "My replaced pipeline",
"stages": [
{
"label": "In Progress",
"metadata": {
"ticketState": "OPEN"
},
"displayOrder": 0
},
{
"label": "Done",
"metadata": {
"ticketState": "CLOSED"
},
"displayOrder": 1
}
],
"displayOrder": 0
},
"required": [
"displayOrder",
"label",
"stages"
],
"properties": {
"label": {
"type": "string",
"example": "My replaced pipeline",
"description": "A unique label used to organize pipelines in HubSpot's UI"
},
"stages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PipelineStageInput"
},
"example": [
{
"label": "In Progress",
"metadata": {
"ticketState": "OPEN"
},
"displayOrder": 0
},
{
"label": "Done",
"metadata": {
"ticketState": "CLOSED"
},
"displayOrder": 1
}
],
"description": "Pipeline stage inputs used to create the new or replacement pipeline."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 0,
"description": "The order for displaying this pipeline. If two pipelines have a matching `displayOrder`, they will be sorted alphabetically by label."
}
},
"description": "An input used to create or replace a pipeline's definition."
}
PipelinePatchInput
{
"type": "object",
"example": {
"label": "My updated pipeline",
"displayOrder": 0
},
"properties": {
"label": {
"type": "string",
"example": "My updated pipeline",
"description": "A unique label used to organize pipelines in HubSpot's UI"
},
"archived": {
"type": "boolean",
"description": "Whether the pipeline is archived. This property should only be provided when restoring an archived pipeline. If it's provided in any other call, the request will fail and a `400 Bad Request` will be returned."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 0,
"description": "The order for displaying this pipeline. If two pipelines have a matching `displayOrder`, they will be sorted alphabetically by label."
}
},
"description": "An input used to update some properties on a pipeline definition."
}
PipelineStage
{
"type": "object",
"example": {
"id": "1234912",
"label": "In Progress",
"archived": false,
"metadata": {
"ticketState": "OPEN"
},
"createdAt": "2019-10-30T03:30:17.883Z",
"updatedAt": "2019-12-07T16:50:06.678Z",
"displayOrder": 0
},
"required": [
"archived",
"createdAt",
"displayOrder",
"id",
"label",
"metadata",
"updatedAt"
],
"properties": {
"id": {
"type": "string",
"example": "1234912",
"description": "A unique identifier generated by HubSpot that can be used to retrieve and update the pipeline stage."
},
"label": {
"type": "string",
"example": "In Progress",
"description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline."
},
"archived": {
"type": "boolean",
"example": false,
"description": "Whether the pipeline is archived."
},
"metadata": {
"type": "object",
"example": {
"ticketState": "OPEN"
},
"description": "A JSON object containing properties that are not present on all object pipelines.\n\nFor `deals` pipelines, the `probability` field is required (`{ \"probability\": 0.5 }`), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1.\n\nFor `tickets` pipelines, the `ticketState` field is optional (`{ \"ticketState\": \"OPEN\" }`), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are `OPEN` or `CLOSED`.",
"additionalProperties": {
"type": "string"
}
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "The date the pipeline stage was created. The stages on default pipelines will have createdAt = 0."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "The date the pipeline stage was last updated."
},
"archivedAt": {
"type": "string",
"format": "date-time",
"description": "The date the pipeline was archived. `archivedAt` will only be present if the pipeline is archived."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 0,
"description": "The order for displaying this pipeline stage. If two pipeline stages have a matching `displayOrder`, they will be sorted alphabetically by label."
},
"writePermissions": {
"enum": [
"CRM_PERMISSIONS_ENFORCEMENT",
"READ_ONLY",
"INTERNAL_ONLY"
],
"type": "string"
}
},
"description": "A pipeline stage definition."
}
PipelineStageInput
{
"type": "object",
"example": {
"label": "Done",
"metadata": {
"ticketState": "CLOSED"
},
"displayOrder": 1
},
"required": [
"displayOrder",
"label",
"metadata"
],
"properties": {
"label": {
"type": "string",
"example": "Done",
"description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline."
},
"metadata": {
"type": "object",
"example": {
"ticketState": "CLOSED"
},
"description": "A JSON object containing properties that are not present on all object pipelines.\n\nFor `deals` pipelines, the `probability` field is required (`{ \"probability\": 0.5 }`), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1.\n\nFor `tickets` pipelines, the `ticketState` field is optional (`{ \"ticketState\": \"OPEN\" }`), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are `OPEN` or `CLOSED`.",
"additionalProperties": {
"type": "string"
}
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "The order for displaying this pipeline stage. If two pipeline stages have a matching `displayOrder`, they will be sorted alphabetically by label."
}
},
"description": "An input used to create or replace a pipeline stage's definition."
}
PipelineStagePatchInput
{
"type": "object",
"example": {
"label": "Done",
"metadata": {
"ticketState": "CLOSED"
},
"displayOrder": 1
},
"required": [
"metadata"
],
"properties": {
"label": {
"type": "string",
"example": "Done",
"description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline."
},
"archived": {
"type": "boolean",
"description": "Whether the pipeline is archived."
},
"metadata": {
"type": "object",
"example": {
"ticketState": "CLOSED"
},
"description": "A JSON object containing properties that are not present on all object pipelines.\n\nFor `deals` pipelines, the `probability` field is required (`{ \"probability\": 0.5 }`), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1.\n\nFor `tickets` pipelines, the `ticketState` field is optional (`{ \"ticketState\": \"OPEN\" }`), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are `OPEN` or `CLOSED`.",
"additionalProperties": {
"type": "string"
}
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "The order for displaying this pipeline stage. If two pipeline stages have a matching `displayOrder`, they will be sorted alphabetically by label."
}
},
"description": "An input used to update some properties on a pipeline definition."
}
PreviousPage
{
"type": "object",
"required": [
"before"
],
"properties": {
"link": {
"type": "string"
},
"before": {
"type": "string"
}
}
}
Property
{
"type": "object",
"example": {
"name": "my_contact_property",
"type": "enumeration",
"label": "My Contact Property",
"hidden": false,
"options": [
{
"label": "Option A",
"value": "A",
"hidden": false,
"description": "Choice number one",
"displayOrder": 1
},
{
"label": "Option B",
"value": "B",
"hidden": false,
"description": "Choice number two",
"displayOrder": 2
}
],
"fieldType": "select",
"formField": true,
"groupName": "contactinformation",
"displayOrder": 2,
"hasUniqueValue": false,
"modificationMetadata": {
"archivable": true,
"readOnlyValue": false,
"readOnlyOptions": false,
"readOnlyDefinition": false
}
},
"required": [
"description",
"fieldType",
"groupName",
"label",
"name",
"options",
"type"
],
"properties": {
"name": {
"type": "string",
"example": "my_contact_property",
"description": "The internal property name, which must be used when referencing the property via the API."
},
"type": {
"type": "string",
"example": "enumeration",
"description": "The property data type."
},
"label": {
"type": "string",
"example": "My Contact Property",
"description": "A human-readable property label that will be shown in HubSpot."
},
"hidden": {
"type": "boolean",
"example": false,
"description": "Whether or not the property will be hidden from the HubSpot UI. It's recommended this be set to false for custom properties."
},
"options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Option"
},
"example": [
{
"label": "Option A",
"value": "A",
"hidden": false,
"description": "Choice number one",
"displayOrder": 1
},
{
"label": "Option B",
"value": "B",
"hidden": false,
"description": "Choice number two",
"displayOrder": 2
}
],
"description": "A list of valid options for the property. This field is required for enumerated properties, but will be empty for other property types."
},
"archived": {
"type": "boolean",
"description": "Whether or not the property is archived."
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": ""
},
"fieldType": {
"type": "string",
"example": "select",
"description": "Controls how the property appears in HubSpot."
},
"formField": {
"type": "boolean",
"example": true,
"description": "Whether or not the property can be used in a HubSpot form."
},
"groupName": {
"type": "string",
"example": "contactinformation",
"description": "The name of the property group the property belongs to."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": ""
},
"archivedAt": {
"type": "string",
"format": "date-time",
"description": "When the property was archived."
},
"calculated": {
"type": "boolean",
"description": "For default properties, true indicates that the property is calculated by a HubSpot process. It has no effect for custom properties."
},
"description": {
"type": "string",
"description": "A description of the property that will be shown as help text in HubSpot."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "Properties are shown in order, starting with the lowest positive integer value."
},
"createdUserId": {
"type": "string",
"description": "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."
},
"updatedUserId": {
"type": "string",
"description": "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."
},
"hasUniqueValue": {
"type": "boolean",
"example": false,
"description": "Whether or not the property's value must be unique. Once set, this can't be changed."
},
"hubspotDefined": {
"type": "boolean",
"description": "This will be true for default object properties built into HubSpot."
},
"externalOptions": {
"type": "boolean",
"description": "For default properties, true indicates that the options are stored externally to the property settings."
},
"calculationFormula": {
"type": "string",
"description": "Represents a formula that is used to compute a calculated property."
},
"showCurrencySymbol": {
"type": "boolean",
"description": "Whether or not the property will display the currency symbol set in the account settings."
},
"modificationMetadata": {
"$ref": "#/components/schemas/PropertyModificationMetadata"
},
"referencedObjectType": {
"type": "string",
"description": "If this property is related to other object(s), they'll be listed here."
}
},
"description": "Defines a property"
}
PropertyCreate
{
"type": "object",
"example": {
"type": "enumeration",
"label": "My Contact Property",
"hidden": false,
"options": [
{
"label": "Option A",
"value": "A",
"hidden": false,
"description": "Choice number one",
"displayOrder": 1
},
{
"label": "Option B",
"value": "B",
"hidden": false,
"description": "Choice number two",
"displayOrder": 2
}
],
"fieldType": "select",
"formField": true,
"groupName": "contactinformation",
"displayOrder": 2,
"hasUniqueValue": false
},
"required": [
"fieldType",
"groupName",
"label",
"name",
"type"
],
"properties": {
"name": {
"type": "string",
"description": "The internal property name, which must be used when referencing the property via the API."
},
"type": {
"enum": [
"string",
"number",
"date",
"datetime",
"enumeration",
"bool"
],
"type": "string",
"example": "enumeration",
"description": "The data type of the property."
},
"label": {
"type": "string",
"example": "My Contact Property",
"description": "A human-readable property label that will be shown in HubSpot."
},
"hidden": {
"type": "boolean",
"example": false,
"description": "If true, the property won't be visible and can't be used in HubSpot."
},
"options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OptionInput"
},
"example": [
{
"label": "Option A",
"value": "A",
"hidden": false,
"description": "Choice number one",
"displayOrder": 1
},
{
"label": "Option B",
"value": "B",
"hidden": false,
"description": "Choice number two",
"displayOrder": 2
}
],
"description": "A list of valid options for the property. This field is required for enumerated properties."
},
"fieldType": {
"enum": [
"textarea",
"text",
"date",
"file",
"number",
"select",
"radio",
"checkbox",
"booleancheckbox",
"calculation_equation"
],
"type": "string",
"example": "select",
"description": "Controls how the property appears in HubSpot."
},
"formField": {
"type": "boolean",
"example": true,
"description": "Whether or not the property can be used in a HubSpot form."
},
"groupName": {
"type": "string",
"example": "contactinformation",
"description": "The name of the property group the property belongs to."
},
"description": {
"type": "string",
"description": "A description of the property that will be shown as help text in HubSpot."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "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."
},
"hasUniqueValue": {
"type": "boolean",
"example": false,
"description": "Whether or not the property's value must be unique. Once set, this can't be changed."
},
"externalOptions": {
"type": "boolean",
"description": "Applicable only for 'enumeration' type properties. Should be set to true in conjunction with a 'referencedObjectType' of 'OWNER'. Otherwise false."
},
"calculationFormula": {
"type": "string",
"description": "Represents a formula that is used to compute a calculated property."
},
"referencedObjectType": {
"type": "string",
"description": "Should be set to 'OWNER' when 'externalOptions' is true, which causes the property to dynamically pull option values from the current HubSpot users."
}
}
}
PropertyGroup
{
"type": "object",
"example": {
"name": "mypropertygroup",
"label": "My Property Group",
"displayOrder": -1
},
"required": [
"archived",
"displayOrder",
"label",
"name"
],
"properties": {
"name": {
"type": "string",
"example": "mypropertygroup",
"description": "The internal property group name, which must be used when referencing the property group via the API."
},
"label": {
"type": "string",
"example": "My Property Group",
"description": "A human-readable label that will be shown in HubSpot."
},
"archived": {
"type": "boolean"
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": -1,
"description": "Property groups are displayed in order starting with the lowest positive integer value. Values of -1 will cause the property group to be displayed after any positive values."
}
},
"description": "An ID for a group of properties"
}
PropertyGroupCreate
{
"type": "object",
"example": {
"name": "mypropertygroup",
"label": "My Property Group",
"displayOrder": -1
},
"required": [
"label",
"name"
],
"properties": {
"name": {
"type": "string",
"example": "mypropertygroup",
"description": "The internal property group name, which must be used when referencing the property group via the API."
},
"label": {
"type": "string",
"example": "My Property Group",
"description": "A human-readable label that will be shown in HubSpot."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": -1,
"description": "Property groups are displayed in order starting with the lowest positive integer value. Values of -1 will cause the property group to be displayed after any positive values."
}
}
}
PropertyGroupUpdate
{
"type": "object",
"example": {
"label": "My Property Group",
"displayOrder": -1
},
"properties": {
"label": {
"type": "string",
"example": "My Property Group",
"description": "A human-readable label that will be shown in HubSpot."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": -1,
"description": "Property groups are displayed in order starting with the lowest positive integer value. Values of -1 will cause the property group to be displayed after any positive values."
}
}
}
PropertyModificationMetadata
{
"type": "object",
"required": [
"archivable",
"readOnlyDefinition",
"readOnlyValue"
],
"properties": {
"archivable": {
"type": "boolean",
"description": ""
},
"readOnlyValue": {
"type": "boolean",
"description": ""
},
"readOnlyOptions": {
"type": "boolean",
"description": ""
},
"readOnlyDefinition": {
"type": "boolean",
"description": ""
}
}
}
PropertyName
{
"type": "object",
"example": {
"name": "my_custom_property"
},
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"example": "my_custom_property",
"description": "The name of the property to read or modify."
}
}
}
PropertyUpdate
{
"type": "object",
"example": {
"type": "enumeration",
"label": "My Contact Property",
"hidden": false,
"options": [
{
"label": "Option A",
"value": "A",
"hidden": false,
"description": "Choice number one",
"displayOrder": 1
},
{
"label": "Option B",
"value": "B",
"hidden": false,
"description": "Choice number two",
"displayOrder": 2
}
],
"fieldType": "select",
"formField": true,
"groupName": "contactinformation",
"displayOrder": 2
},
"properties": {
"type": {
"enum": [
"string",
"number",
"date",
"datetime",
"enumeration",
"bool"
],
"type": "string",
"example": "enumeration",
"description": "The data type of the property."
},
"label": {
"type": "string",
"example": "My Contact Property",
"description": "A human-readable property label that will be shown in HubSpot."
},
"hidden": {
"type": "boolean",
"example": false,
"description": "If true, the property won't be visible and can't be used in HubSpot."
},
"options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OptionInput"
},
"example": [
{
"label": "Option A",
"value": "A",
"hidden": false,
"description": "Choice number one",
"displayOrder": 1
},
{
"label": "Option B",
"value": "B",
"hidden": false,
"description": "Choice number two",
"displayOrder": 2
}
],
"description": "A list of valid options for the property."
},
"fieldType": {
"enum": [
"textarea",
"text",
"date",
"file",
"number",
"select",
"radio",
"checkbox",
"booleancheckbox",
"calculation_equation"
],
"type": "string",
"example": "select",
"description": "Controls how the property appears in HubSpot."
},
"formField": {
"type": "boolean",
"example": true,
"description": "Whether or not the property can be used in a HubSpot form."
},
"groupName": {
"type": "string",
"example": "contactinformation",
"description": "The name of the property group the property belongs to."
},
"description": {
"type": "string",
"description": "A description of the property that will be shown as help text in HubSpot."
},
"displayOrder": {
"type": "integer",
"format": "int32",
"example": 2,
"description": "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."
},
"calculationFormula": {
"type": "string",
"description": "Represents a formula that is used to compute a calculated property."
}
}
}
PublicAssociationsForObject
{
"type": "object",
"required": [
"to",
"types"
],
"properties": {
"to": {
"$ref": "#/components/schemas/PublicObjectId"
},
"types": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AssociationSpec"
}
}
}
}
PublicAuditInfo
{
"type": "object",
"required": [
"action",
"identifier",
"portalId"
],
"properties": {
"action": {
"type": "string"
},
"message": {
"type": "string"
},
"portalId": {
"type": "integer",
"format": "int32"
},
"rawObject": {
"type": "object",
"properties": {}
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"fromUserId": {
"type": "integer",
"format": "int32"
},
"identifier": {
"type": "string"
}
}
}
PublicGdprDeleteInput
{
"type": "object",
"required": [
"objectId"
],
"properties": {
"objectId": {
"type": "string"
},
"idProperty": {
"type": "string"
}
}
}
PublicImportError
{
"type": "object",
"required": [
"createdAt",
"errorType",
"id",
"sourceData"
],
"properties": {
"id": {
"type": "string"
},
"createdAt": {
"type": "integer",
"format": "int32"
},
"errorType": {
"enum": [
"INCORRECT_NUMBER_OF_COLUMNS",
"INVALID_OBJECT_ID",
"INVALID_ASSOCIATION_IDENTIFIER",
"NO_OBJECT_ID_FROM_ASSOCIATION_IDENTIFIER",
"MULTIPLE_COMPANIES_WITH_THIS_DOMAIN",
"PROPERTY_DEFINITION_NOT_FOUND",
"PROPERTY_VALUE_NOT_FOUND",
"COULD_NOT_FIND_OWNER",
"MULTIPLE_OWNERS_FOUND",
"COULD_NOT_FIND_BUSINESS_UNIT",
"COULD_NOT_PARSE_NUMBER",
"COULD_NOT_PARSE_DATE",
"COULD_NOT_PARSE_TERM",
"OUTSIDE_VALID_TIME_RANGE",
"OUTSIDE_VALID_TERM_RANGE",
"COULD_NOT_PARSE_ROW",
"INVALID_ENUMERATION_OPTION",
"AMBIGUOUS_ENUMERATION_OPTION",
"FAILED_VALIDATION",
"FAILED_TO_CREATE_ASSOCIATION",
"FILE_NOT_FOUND",
"INVALID_COLUMN_CONFIGURATION",
"INVALID_FILE_TYPE",
"INVALID_SPREADSHEET",
"INVALID_SHEET_COUNT",
"FAILED_TO_PROCESS_OBJECT_WITH_EMPTY_PROPERTY_VALUES",
"UNKNOWN_BAD_REQUEST",
"GDPR_BLACKLISTED_EMAIL",
"DUPLICATE_ASSOCIATION_ID",
"LIMIT_EXCEEDED",
"PORTAL_WIDE_CUSTOM_OBJECT_LIMIT_EXCEEDED",
"INVALID_ALTERNATE_ID",
"INVALID_EMAIL",
"INVALID_DOMAIN",
"DUPLICATE_ROW_CONTENT",
"INVALID_NUMBER_SIZE",
"UNKNOWN_ERROR",
"FAILED_TO_OPT_OUT_CONTACT",
"INVALID_REQUIRED_PROPERTY",
"MISSING_REQUIRED_PROPERTY",
"DUPLICATE_ALTERNATE_ID",
"DUPLICATE_OBJECT_ID",
"DUPLICATE_UNIQUE_PROPERTY_VALUE",
"BLANK_VALUE_PROVIDED",
"UNKNOWN_ASSOCIATION_RECORD_ID",
"INVALID_RECORD_ID",
"DUPLICATE_RECORD_ID",
"INVALID_CUSTOM_PROPERTY_VALIDATION",
"CREATE_ONLY_IMPORT",
"UPDATE_ONLY_IMPORT",
"COLUMN_TOO_LARGE",
"ROW_DATA_TOO_LARGE",
"INVALID_EVENT_TIMESTAMP",
"INVALID_EVENT",
"DUPLICATE_EVENT",
"MISSING_EVENT_DEFINITION"
],
"type": "string"
},
"objectType": {
"enum": [
"CONTACT",
"COMPANY",
"DEAL",
"ENGAGEMENT",
"TICKET",
"OWNER",
"PRODUCT",
"LINE_ITEM",
"BET_DELIVERABLE_SERVICE",
"CONTENT",
"CONVERSATION",
"BET_ALERT",
"PORTAL",
"QUOTE",
"FORM_SUBMISSION_INBOUNDDB",
"QUOTA",
"UNSUBSCRIBE",
"COMMUNICATION",
"FEEDBACK_SUBMISSION",
"ATTRIBUTION",
"SALESFORCE_SYNC_ERROR",
"RESTORABLE_CRM_OBJECT",
"HUB",
"LANDING_PAGE",
"PRODUCT_OR_FOLDER",
"TASK",
"FORM",
"MARKETING_EMAIL",
"AD_ACCOUNT",
"AD_CAMPAIGN",
"AD_GROUP",
"AD",
"KEYWORD",
"CAMPAIGN",
"SOCIAL_CHANNEL",
"SOCIAL_POST",
"SITE_PAGE",
"BLOG_POST",
"IMPORT",
"EXPORT",
"CTA",
"TASK_TEMPLATE",
"AUTOMATION_PLATFORM_FLOW",
"OBJECT_LIST",
"NOTE",
"MEETING_EVENT",
"CALL",
"EMAIL",
"PUBLISHING_TASK",
"CONVERSATION_SESSION",
"CONTACT_CREATE_ATTRIBUTION",
"INVOICE",
"MARKETING_EVENT",
"CONVERSATION_INBOX",
"CHATFLOW",
"MEDIA_BRIDGE",
"SEQUENCE",
"SEQUENCE_STEP",
"FORECAST",
"SNIPPET",
"TEMPLATE",
"DEAL_CREATE_ATTRIBUTION",
"QUOTE_TEMPLATE",
"QUOTE_MODULE",
"QUOTE_MODULE_FIELD",
"QUOTE_FIELD",
"SEQUENCE_ENROLLMENT",
"SUBSCRIPTION",
"ACCEPTANCE_TEST",
"SOCIAL_BROADCAST",
"DEAL_SPLIT",
"DEAL_REGISTRATION",
"GOAL_TARGET",
"GOAL_TARGET_GROUP",
"PORTAL_OBJECT_SYNC_MESSAGE",
"FILE_MANAGER_FILE",
"FILE_MANAGER_FOLDER",
"SEQUENCE_STEP_ENROLLMENT",
"APPROVAL",
"APPROVAL_STEP",
"CTA_VARIANT",
"SALES_DOCUMENT",
"DISCOUNT",
"FEE",
"TAX",
"MARKETING_CALENDAR",
"PERMISSIONS_TESTING",
"PRIVACY_SCANNER_COOKIE",
"DATA_SYNC_STATE",
"WEB_INTERACTIVE",
"PLAYBOOK",
"FOLDER",
"PLAYBOOK_QUESTION",
"PLAYBOOK_SUBMISSION",
"PLAYBOOK_SUBMISSION_ANSWER",
"COMMERCE_PAYMENT",
"GSC_PROPERTY",
"SOX_PROTECTED_DUMMY_TYPE",
"BLOG_LISTING_PAGE",
"QUARANTINED_SUBMISSION",
"PAYMENT_SCHEDULE",
"PAYMENT_SCHEDULE_INSTALLMENT",
"MARKETING_CAMPAIGN_UTM",
"DISCOUNT_TEMPLATE",
"DISCOUNT_CODE",
"FEEDBACK_SURVEY",
"CMS_URL",
"SALES_TASK",
"SALES_WORKLOAD",
"USER",
"POSTAL_MAIL",
"SCHEMAS_BACKEND_TEST",
"PAYMENT_LINK",
"SUBMISSION_TAG",
"CAMPAIGN_STEP",
"SCHEDULING_PAGE",
"SOX_PROTECTED_TEST_TYPE",
"ORDER",
"MARKETING_SMS",
"PARTNER_ACCOUNT",
"CAMPAIGN_TEMPLATE",
"CAMPAIGN_TEMPLATE_STEP",
"PLAYLIST",
"CLIP",
"CAMPAIGN_BUDGET_ITEM",
"CAMPAIGN_SPEND_ITEM",
"MIC",
"CONTENT_AUDIT",
"CONTENT_AUDIT_PAGE",
"PLAYLIST_FOLDER",
"LEAD",
"ABANDONED_CART",
"EXTERNAL_WEB_URL",
"VIEW",
"VIEW_BLOCK",
"ROSTER",
"CART",
"AUTOMATION_PLATFORM_FLOW_ACTION",
"SOCIAL_PROFILE",
"PARTNER_CLIENT",
"ROSTER_MEMBER",
"MARKETING_EVENT_ATTENDANCE",
"ALL_PAGES",
"AI_FORECAST",
"CRM_PIPELINES_DUMMY_TYPE",
"UNKNOWN"
],
"type": "string"
},
"sourceData": {
"$ref": "#/components/schemas/ImportRowCore"
},
"extraContext": {
"type": "string"
},
"invalidValue": {
"type": "string"
},
"objectTypeId": {
"type": "string"
},
"knownColumnNumber": {
"type": "integer",
"format": "int32"
}
}
}
PublicImportMetadata
{
"type": "object",
"example": {
"fileIds": [
"3579849"
],
"counters": {
"TOTAL_ROWS": 2,
"CREATED_OBJECTS": 1,
"UPDATED_OBJECTS": 1,
"UNIQUE_OBJECTS_WRITTEN": 2,
"PROPERTY_VALUES_EMITTED": 2
},
"objectLists": [
{
"listId": "3",
"objectType": "contacts"
}
]
},
"required": [
"counters",
"fileIds",
"objectLists"
],
"properties": {
"fileIds": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"3579849"
],
"description": "The IDs of files uploaded in the File Manager API."
},
"counters": {
"type": "object",
"example": {
"TOTAL_ROWS": 2,
"CREATED_OBJECTS": 1,
"UPDATED_OBJECTS": 1,
"UNIQUE_OBJECTS_WRITTEN": 2,
"PROPERTY_VALUES_EMITTED": 2
},
"description": "Summarized outcomes of each row a developer attempted to import into HubSpot.",
"additionalProperties": {
"type": "integer",
"format": "int32"
}
},
"objectLists": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PublicObjectListRecord"
},
"example": [
{
"listId": "3",
"objectType": "contacts"
}
],
"description": "The lists containing the imported objects."
}
},
"description": "An object detailing a summary of the import record outputs"
}
PublicImportResponse
{
"type": "object",
"example": {
"id": "1471",
"state": "DONE",
"metadata": {
"fileIds": [
"32938649"
],
"counters": {
"TOTAL_ROWS": 1000,
"CREATED_OBJECTS": 1000,
"UNIQUE_OBJECTS_WRITTEN": 1000,
"PROPERTY_VALUES_EMITTED": 1000
},
"objectLists": [
{
"listId": "3",
"objectType": "contacts"
}
]
},
"createdAt": "2020-01-14T22:45:00.153Z",
"updatedAt": "2020-01-14T22:45:00.153Z",
"optOutImport": false
},
"required": [
"createdAt",
"id",
"metadata",
"optOutImport",
"state",
"updatedAt"
],
"properties": {
"id": {
"type": "string",
"example": "1471"
},
"state": {
"enum": [
"STARTED",
"PROCESSING",
"DONE",
"FAILED",
"CANCELED",
"DEFERRED",
"REVERTED"
],
"type": "string",
"example": "DONE",
"description": "The status of the import."
},
"metadata": {
"$ref": "#/components/schemas/PublicImportMetadata"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"importName": {
"type": "string"
},
"importSource": {
"enum": [
"API",
"CRM_UI",
"IMPORT",
"MOBILE_ANDROID",
"MOBILE_IOS",
"SALESFORCE"
],
"type": "string"
},
"optOutImport": {
"type": "boolean",
"example": false,
"description": "Whether or not the import is a list of people disqualified from receiving emails."
},
"importTemplate": {
"$ref": "#/components/schemas/ImportTemplate"
},
"importRequestJson": {
"type": "object",
"properties": {}
}
},
"description": "A current summary of the import, whether complete or not."
}
PublicMergeInput
{
"type": "object",
"required": [
"objectIdToMerge",
"primaryObjectId"
],
"properties": {
"objectIdToMerge": {
"type": "string"
},
"primaryObjectId": {
"type": "string"
}
}
}
PublicObjectId
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
}
}
}
PublicObjectListRecord
{
"type": "object",
"example": {
"listId": "3",
"objectType": "contacts"
},
"required": [
"listId",
"objectType"
],
"properties": {
"listId": {
"type": "string",
"example": "3",
"description": "The ID of the list containing the imported objects."
},
"objectType": {
"type": "string",
"example": "contacts",
"description": "The type of object contained in the list."
}
},
"description": "A summary detailing which list contains the imported objects."
}
PublicObjectSearchRequest
{
"type": "object",
"required": [
"after",
"filterGroups",
"limit",
"properties",
"sorts"
],
"properties": {
"after": {
"type": "string"
},
"limit": {
"type": "integer",
"format": "int32"
},
"query": {
"type": "string"
},
"sorts": {
"type": "array",
"items": {
"type": "string"
}
},
"properties": {
"type": "array",
"items": {
"type": "string"
}
},
"filterGroups": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FilterGroup"
}
}
}
}
PublicOwner
{
"type": "object",
"example": {
"id": "6166860",
"email": "jsmith@example.com",
"teams": [
{
"id": "178588X",
"name": "West Coast Sales",
"primary": true
},
{
"id": "178590X",
"name": "California Sales",
"primary": false
}
],
"userId": 1296619,
"archived": false,
"lastName": "Smith",
"createdAt": "2019-10-30T03:30:17.883Z",
"firstName": "John",
"updatedAt": "2019-12-07T16:50:06.678Z"
},
"required": [
"archived",
"createdAt",
"id",
"updatedAt"
],
"properties": {
"id": {
"type": "string",
"example": "6166860"
},
"email": {
"type": "string",
"example": "jsmith@example.com"
},
"teams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PublicTeam"
},
"example": [
{
"id": "178588",
"name": "West Coast Sales",
"primary": true
},
{
"id": "178590",
"name": "California Sales",
"primary": false
}
]
},
"userId": {
"type": "integer",
"format": "int32",
"example": 1296619
},
"archived": {
"type": "boolean",
"example": false
},
"lastName": {
"type": "string",
"example": "Smith"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"firstName": {
"type": "string",
"example": "John"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
}
}
PublicTeam
{
"type": "object",
"required": [
"id",
"name",
"primary"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"primary": {
"type": "boolean"
}
}
}
RecordingSettingsPatchRequest
{
"type": "object",
"properties": {
"urlToRetrieveAuthedRecording": {
"type": "string"
}
}
}
RecordingSettingsRequest
{
"type": "object",
"required": [
"urlToRetrieveAuthedRecording"
],
"properties": {
"urlToRetrieveAuthedRecording": {
"type": "string"
}
}
}
RecordingSettingsResponse
{
"type": "object",
"required": [
"urlToRetrieveAuthedRecording"
],
"properties": {
"urlToRetrieveAuthedRecording": {
"type": "string"
}
}
}
SettingsPatchRequest
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The URL to your phone/calling UI, built with the [Calling SDK](#)."
},
"name": {
"type": "string",
"description": "The name of your calling service to display to users."
},
"width": {
"type": "integer",
"format": "int32",
"description": "The target width of the iframe that will contain your phone/calling UI."
},
"height": {
"type": "integer",
"format": "int32",
"description": "The target height of the iframe that will contain your phone/calling UI."
},
"isReady": {
"type": "boolean",
"description": "When true, your service will appear as an option under the *Call* action in contact records of connected accounts."
},
"supportsCustomObjects": {
"type": "boolean",
"description": "When true, you are indicating that your service is compatible with engagement v2 service and can be used with custom objects."
}
},
"description": "Settings update request"
}
SettingsRequest
{
"type": "object",
"example": {
"url": "https://www.example.com/hubspot/iframe",
"name": "HubPhone",
"width": 200,
"height": 350,
"isReady": true,
"supportsCustomObjects": true
},
"required": [
"name",
"url"
],
"properties": {
"url": {
"type": "string",
"example": "https://www.example.com/hubspot/iframe",
"description": "The URL to your phone/calling UI, built with the [Calling SDK](#)."
},
"name": {
"type": "string",
"example": "HubPhone",
"description": "The name of your calling service to display to users."
},
"width": {
"type": "integer",
"format": "int32",
"example": 200,
"description": "The target width of the iframe that will contain your phone/calling UI."
},
"height": {
"type": "integer",
"format": "int32",
"example": 350,
"description": "The target height of the iframe that will contain your phone/calling UI."
},
"isReady": {
"type": "boolean",
"example": true,
"description": "When true, your service will appear as an option under the *Call* action in contact records of connected accounts."
},
"supportsCustomObjects": {
"type": "boolean",
"example": true,
"description": "When true, you are indicating that your service is compatible with engagement v2 service and can be used with custom objects."
}
},
"description": "Settings create request"
}
SettingsResponse
{
"type": "object",
"required": [
"createdAt",
"height",
"isReady",
"name",
"supportsCustomObjects",
"updatedAt",
"url",
"width"
],
"properties": {
"url": {
"type": "string",
"description": "The URL to your phone/calling UI, built with the [Calling SDK](#)."
},
"name": {
"type": "string",
"description": "The name of your calling service to display to users."
},
"width": {
"type": "integer",
"format": "int32",
"description": "The target width of the iframe that will contain your phone/calling UI."
},
"height": {
"type": "integer",
"format": "int32",
"description": "The target height of the iframe that will contain your phone/calling UI."
},
"isReady": {
"type": "boolean",
"description": "When true, your service will appear as an option under the *Call* action in contact records of connected accounts."
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "When this calling extension was created."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "The last time the settings for this calling extension were modified."
},
"supportsCustomObjects": {
"type": "boolean",
"description": "When true, you are indicating that your service is compatible with engagement v2 service and can be used with custom objects."
}
},
"description": "Current settings state"
}
SimplePublicObject
{
"type": "object",
"example": {
"id": "512",
"archived": false,
"createdAt": "2019-10-30T03:30:17.883Z",
"updatedAt": "2019-12-07T16:50:06.678Z",
"properties": {
"city": "Cambridge",
"name": "1 year implementation consultation",
"email": "bcooper@biglytics.net",
"phone": "(877) 929-0687",
"price": "6000.00",
"state": "Massachusetts",
"amount": "1500.00",
"domain": "biglytics.net",
"hs_sku": "191902",
"company": "Biglytics",
"subject": "troubleshoot report",
"website": "biglytics.net",
"dealname": "Custom data integrations",
"hs_terms": "discount provided, two year term with customer",
"hs_title": "Services Proposal",
"hs_value": "2",
"industry": "Technology",
"lastname": "Cooper",
"pipeline": "default",
"quantity": "2",
"closedate": "2019-12-07T16:50:06.678Z",
"dealstage": "presentationscheduled",
"firstname": "Bryan",
"hs_status": "PENDING_APPROVAL",
"createdate": "2019-10-30T03:30:17.883Z",
"hs_content": "What a great product!",
"description": "Onboarding service for data product",
"hs_pipeline": "support_pipeline",
"hs_survey_id": "5",
"hs_createdate": "2019-10-30T03:30:17.883Z",
"hs_product_id": "191902",
"property_date": "1572480000000",
"hs_survey_name": "Customer Satisfaction Survey",
"hs_survey_type": "CSAT",
"property_radio": "option_1",
"hs_ingestion_id": "fd61286d-102b-4fcc-b486-3486b4ceafc2",
"hs_quote_amount": "3000.00",
"hs_quote_number": "20200916-092813983",
"property_number": "17",
"property_string": "value",
"hubspot_owner_id": "910901",
"lastmodifieddate": "2019-12-07T16:50:06.678Z",
"hs_pipeline_stage": "open",
"hs_response_group": "PROMOTER",
"hs_survey_channel": "EMAIL",
"property_checkbox": "false",
"property_dropdown": "choice_b",
"hs_expiration_date": "2020-09-06T02:43:14.491Z",
"hs_submission_name": "Customer Satisfaction Survey - bcooper@biglytics.net",
"hs_ticket_priority": "HIGH",
"hs_lastmodifieddate": "2019-12-07T16:50:06.678Z",
"hs_cost_of_goods_sold": "600.00",
"recurringbillingfrequency": "monthly",
"hs_recurring_billing_period": "24",
"property_multiple_checkboxes": "chocolate;strawberry"
}
},
"required": [
"properties",
"createdAt",
"id",
"updatedAt"
],
"properties": {
"id": {
"type": "string",
"example": "512"
},
"archived": {
"type": "boolean",
"example": false
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"archivedAt": {
"type": "string",
"format": "date-time"
},
"properties": {
"type": "object",
"example": {
"name": "1 year implementation consultation",
"price": "6000.00",
"hs_sku": "191902",
"quantity": "2",
"description": "Onboarding service for data product",
"hs_product_id": "191902",
"property_date": "1572480000000",
"property_radio": "option_1",
"property_number": "17",
"property_string": "value",
"property_checkbox": "false",
"property_dropdown": "choice_b",
"hs_cost_of_goods_sold": "600.00",
"recurringbillingfrequency": "monthly",
"hs_recurring_billing_period": "P24M",
"property_multiple_checkboxes": "chocolate;strawberry"
},
"additionalProperties": {
"type": "string",
"nullable": true
}
},
"propertiesWithHistory": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValueWithTimestamp"
}
}
}
}
}
SimplePublicObjectBatchInput
{
"type": "object",
"example": {
"id": "1",
"properties": {
"city": "Cambridge",
"name": "1 year implementation consultation",
"email": "bcooper@biglytics.net",
"phone": "(877) 929-0687",
"price": "6000.00",
"state": "Massachusetts",
"amount": "1500.00",
"domain": "biglytics.net",
"hs_sku": "191902",
"company": "Biglytics",
"subject": "troubleshoot report",
"website": "biglytics.net",
"dealname": "Custom data integrations",
"hs_title": "Pawnee Paper Deal",
"industry": "Technology",
"lastname": "Cooper",
"pipeline": "default",
"quantity": "2",
"closedate": "2019-12-07T16:50:06.678Z",
"dealstage": "presentationscheduled",
"firstname": "Bryan",
"hs_status": "PENDING_APPROVAL",
"description": "Onboarding service for data product",
"hs_pipeline": "support_pipeline",
"hs_product_id": "191902",
"hubspot_owner_id": "910901",
"hs_pipeline_stage": "open",
"hs_ticket_priority": "HIGH",
"hs_cost_of_goods_sold": "600.00",
"recurringbillingfrequency": "monthly",
"hs_recurring_billing_period": "24"
}
},
"required": [
"properties",
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The id to be updated. This can be the object id, or the unique property value of the idProperty property"
},
"idProperty": {
"type": "string",
"example": "my_unique_property_name",
"description": "The name of the unique property"
},
"properties": {
"type": "object",
"example": {
"city": "Cambridge",
"name": "1 year implementation consultation",
"email": "bcooper@biglytics.net",
"phone": "(877) 929-0687",
"price": "6000.00",
"state": "Massachusetts",
"amount": "1500.00",
"domain": "biglytics.net",
"hs_sku": "191902",
"company": "Biglytics",
"subject": "troubleshoot report",
"website": "biglytics.net",
"dealname": "Custom data integrations",
"industry": "Technology",
"lastname": "Cooper",
"pipeline": "default",
"quantity": "2",
"closedate": "2019-12-07T16:50:06.678Z",
"dealstage": "presentationscheduled",
"firstname": "Bryan",
"description": "Onboarding service for data product",
"hs_pipeline": "support_pipeline",
"hs_product_id": "191902",
"hubspot_owner_id": "910901",
"hs_pipeline_stage": "open",
"hs_ticket_priority": "HIGH",
"hs_cost_of_goods_sold": "600.00",
"recurringbillingfrequency": "monthly",
"hs_recurring_billing_period": "P24M"
},
"additionalProperties": {
"type": "string"
}
}
}
}
SimplePublicObjectId
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
}
}
}
SimplePublicObjectInput
{
"type": "object",
"example": {
"properties": {
"city": "Cambridge",
"name": "1 year implementation consultation",
"email": "bcooper@biglytics.net",
"phone": "(877) 929-0687",
"price": "6000.00",
"state": "Massachusetts",
"amount": "1500.00",
"domain": "biglytics.net",
"hs_sku": "191902",
"company": "Biglytics",
"subject": "troubleshoot report",
"website": "biglytics.net",
"dealname": "Custom data integrations",
"hs_title": "Pawnee Paper Deal",
"industry": "Technology",
"lastname": "Cooper",
"pipeline": "default",
"quantity": "2",
"closedate": "2019-12-07T16:50:06.678Z",
"dealstage": "presentationscheduled",
"firstname": "Bryan",
"hs_status": "PENDING_APPROVAL",
"description": "Onboarding service for data product",
"hs_pipeline": "support_pipeline",
"hs_product_id": "191902",
"property_date": "1572480000000",
"property_radio": "option_1",
"property_number": "17",
"property_string": "value",
"hubspot_owner_id": "910901",
"hs_pipeline_stage": "open",
"property_checkbox": "false",
"property_dropdown": "choice_b",
"hs_ticket_priority": "HIGH",
"hs_cost_of_goods_sold": "600.00",
"recurringbillingfrequency": "monthly",
"hs_recurring_billing_period": "24",
"property_multiple_checkboxes": "chocolate;strawberry"
},
"associations": [
{
"to": {
"id": "101"
},
"types": [
{
"associationTypeId": 2,
"associationCategory": "HUBSPOT_DEFINED"
}
]
}
]
},
"required": [
"properties"
],
"properties": {
"properties": {
"type": "object",
"example": {
"name": "1 year implementation consultation",
"price": "6000.00",
"quantity": "2",
"description": "A new product description",
"hs_product_id": "191902",
"property_date": "1572480000000",
"property_radio": "option_1",
"property_number": "17",
"property_string": "value",
"property_checkbox": "false",
"property_dropdown": "choice_b",
"hs_cost_of_goods_sold": "700.00",
"recurringbillingfrequency": "monthly",
"hs_recurring_billing_period": "P24M",
"property_multiple_checkboxes": "chocolate;strawberry"
},
"description": "",
"additionalProperties": {
"type": "string"
}
}
}
}
SimplePublicObjectInputForCreate
{
"type": "object",
"example": {
"properties": {
"city": "Cambridge",
"name": "1 year implementation consultation",
"email": "bcooper@biglytics.net",
"phone": "(877) 929-0687",
"price": "6000.00",
"state": "Massachusetts",
"amount": "1500.00",
"domain": "biglytics.net",
"hs_sku": "191902",
"company": "Biglytics",
"subject": "troubleshoot report",
"website": "biglytics.net",
"dealname": "Custom data integrations",
"hs_title": "Pawnee Paper Deal",
"industry": "Technology",
"lastname": "Cooper",
"pipeline": "default",
"quantity": "2",
"closedate": "2019-12-07T16:50:06.678Z",
"dealstage": "presentationscheduled",
"firstname": "Bryan",
"hs_status": "PENDING_APPROVAL",
"description": "Onboarding service for data product",
"hs_pipeline": "support_pipeline",
"hs_product_id": "191902",
"hubspot_owner_id": "910901",
"hs_pipeline_stage": "open",
"hs_ticket_priority": "HIGH",
"hs_cost_of_goods_sold": "600.00",
"recurringbillingfrequency": "monthly",
"hs_recurring_billing_period": "24"
},
"associations": [
{
"to": {
"id": "101X"
},
"types": [
{
"associationTypeId": 2,
"associationCategory": "HUBSPOT_DEFINED"
}
]
}
]
},
"required": [
"properties",
"associations"
],
"properties": {
"properties": {
"type": "object",
"example": {
"city": "Cambridge",
"name": "1 year implementation consultation",
"email": "bcooper@biglytics.net",
"phone": "(877) 929-0687",
"price": "6000.00",
"state": "Massachusetts",
"amount": "1500.00",
"domain": "biglytics.net",
"hs_sku": "191902",
"company": "Biglytics",
"subject": "troubleshoot report",
"website": "biglytics.net",
"dealname": "Custom data integrations",
"industry": "Technology",
"lastname": "Cooper",
"pipeline": "default",
"quantity": "2",
"closedate": "2019-12-07T16:50:06.678Z",
"dealstage": "presentationscheduled",
"firstname": "Bryan",
"description": "Onboarding service for data product",
"hs_pipeline": "support_pipeline",
"hs_product_id": "191902",
"hubspot_owner_id": "910901",
"hs_pipeline_stage": "open",
"hs_ticket_priority": "HIGH",
"hs_cost_of_goods_sold": "600.00",
"recurringbillingfrequency": "monthly",
"hs_recurring_billing_period": "P24M"
},
"description": "",
"additionalProperties": {
"type": "string"
}
},
"associations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PublicAssociationsForObject"
}
}
}
}
SimplePublicObjectWithAssociations
{
"type": "object",
"example": {
"properties": {
"city": "Cambridge",
"name": "1 year implementation consultation",
"email": "bcooper@biglytics.net",
"phone": "(877) 929-0687",
"price": "6000.00",
"state": "Massachusetts",
"amount": "1500.00",
"domain": "biglytics.net",
"hs_sku": "191902",
"company": "Biglytics",
"subject": "troubleshoot report",
"website": "biglytics.net",
"dealname": "Custom data integrations",
"hs_terms": "discount provided, two year term with customer",
"hs_title": "Services Proposal",
"hs_value": "2",
"industry": "Technology",
"lastname": "Cooper",
"pipeline": "default",
"quantity": "2",
"closedate": "2019-12-07T16:50:06.678Z",
"dealstage": "presentationscheduled",
"firstname": "Bryan",
"hs_status": "PENDING_APPROVAL",
"createdate": "2019-10-30T03:30:17.883Z",
"hs_content": "What a great product!",
"description": "Onboarding service for data product",
"hs_pipeline": "support_pipeline",
"hs_survey_id": "5",
"hs_createdate": "2019-10-30T03:30:17.883Z",
"hs_product_id": "191902",
"hs_survey_name": "Customer Satisfaction Survey",
"hs_survey_type": "CSAT",
"hs_ingestion_id": "fd61286d-102b-4fcc-b486-3486b4ceafc2",
"hs_quote_amount": "3000.00",
"hs_quote_number": "20200916-092813983",
"hubspot_owner_id": "910901",
"lastmodifieddate": "2019-12-07T16:50:06.678Z",
"hs_pipeline_stage": "open",
"hs_response_group": "PROMOTER",
"hs_survey_channel": "EMAIL",
"hs_expiration_date": "2020-09-06T02:43:14.491Z",
"hs_submission_name": "Customer Satisfaction Survey - bcooper@biglytics.net",
"hs_ticket_priority": "HIGH",
"hs_lastmodifieddate": "2019-12-07T16:50:06.678Z",
"hs_cost_of_goods_sold": "600.00",
"recurringbillingfrequency": "monthly",
"hs_recurring_billing_period": "24"
}
},
"required": [
"createdAt",
"id",
"properties",
"updatedAt"
],
"properties": {
"id": {
"type": "string"
},
"archived": {
"type": "boolean"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"archivedAt": {
"type": "string",
"format": "date-time"
},
"properties": {
"type": "object",
"example": {
"city": "Cambridge",
"name": "1 year implementation consultation",
"email": "bcooper@biglytics.net",
"phone": "(877) 929-0687",
"price": "6000.00",
"state": "Massachusetts",
"amount": "1500.00",
"domain": "biglytics.net",
"company": "Biglytics",
"subject": "troubleshoot report",
"website": "biglytics.net",
"dealname": "Custom data integrations",
"industry": "Technology",
"lastname": "Cooper",
"pipeline": "default",
"quantity": "2",
"closedate": "2019-12-07T16:50:06.678Z",
"dealstage": "presentationscheduled",
"firstname": "Bryan",
"description": "A new product description",
"hs_pipeline": "support_pipeline",
"hs_product_id": "191902",
"hubspot_owner_id": "910901",
"hs_pipeline_stage": "open",
"hs_ticket_priority": "HIGH",
"hs_cost_of_goods_sold": "700.00",
"recurringbillingfrequency": "monthly",
"hs_recurring_billing_period": "P24M"
},
"additionalProperties": {
"type": "string",
"nullable": true
}
},
"associations": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/CollectionResponseAssociatedId"
}
},
"propertiesWithHistory": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValueWithTimestamp"
}
}
}
}
}
StandardError
{
"type": "object",
"required": [
"category",
"context",
"errors",
"links",
"message",
"status"
],
"properties": {
"id": {
"type": "string"
},
"links": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ErrorDetail"
}
},
"status": {
"type": "string"
},
"context": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
},
"message": {
"type": "string"
},
"category": {
"type": "string"
},
"subCategory": {
"type": "object",
"properties": {}
}
}
}
TimelineEvent
{
"type": "object",
"example": {
"email": "art3mis-pup@petspot.com",
"tokens": {
"petAge": 3,
"petName": "Art3mis",
"petColor": "black"
},
"extraData": {
"questions": [
{
"answer": "Bark!",
"question": "Who's a good girl?"
},
{
"answer": "Woof!",
"question": "Do you wanna go on a walk?"
}
]
},
"timelineIFrame": {
"url": "https://my.petspot.com/pets/Art3mis",
"width": 600,
"height": 400,
"linkLabel": "View Art3mis",
"headerLabel": "Art3mis dog"
},
"eventTemplateId": "1001298"
},
"required": [
"eventTemplateId",
"tokens"
],
"properties": {
"id": {
"type": "string",
"description": "Identifier for the event. This is optional, and we recommend you do not pass this in. We will create one for you if you omit this. You can also use `{{uuid}}` anywhere in the ID to generate a unique string, guaranteeing uniqueness."
},
"utk": {
"type": "string",
"description": "Use the `utk` parameter to associate an event with a contact by `usertoken`. This is recommended if you don't know a user's email, but have an identifying user token in your cookie."
},
"email": {
"type": "string",
"example": "art3mis-pup@petspot.com",
"description": "The email address used for contact-specific events. This can be used to identify existing contacts, create new ones, or change the email for an existing contact (if paired with the `objectId`)."
},
"domain": {
"type": "string",
"description": "The event domain (often paired with utk)."
},
"tokens": {
"type": "object",
"example": {
"petAge": 3,
"petName": "Art3mis",
"petColor": "black"
},
"description": "A collection of token keys and values associated with the template tokens.",
"additionalProperties": {
"type": "string"
}
},
"objectId": {
"type": "string",
"description": "The CRM object identifier. This is required for every event other than contacts (where utk or email can be used)."
},
"extraData": {
"type": "object",
"example": {
"questions": [
{
"answer": "Bark!",
"question": "Who's a good girl?"
},
{
"answer": "Woof!",
"question": "Do you wanna go on a walk?"
}
]
},
"properties": {},
"description": "Additional event-specific data that can be interpreted by the template's markdown."
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "The time the event occurred. If not passed in, the curren time will be assumed. This is used to determine where an event is shown on a CRM object's timeline."
},
"timelineIFrame": {
"$ref": "#/components/schemas/TimelineEventIFrame"
},
"eventTemplateId": {
"type": "string",
"example": "1001298",
"description": "The event template ID."
}
},
"description": "The state of the timeline event."
}
TimelineEventIFrame
{
"type": "object",
"example": {
"url": "https://my.petspot.com/pets/Art3mis",
"width": 600,
"height": 400,
"linkLabel": "View Art3mis",
"headerLabel": "Art3mis dog"
},
"required": [
"headerLabel",
"height",
"linkLabel",
"url",
"width"
],
"properties": {
"url": {
"type": "string",
"example": "https://my.petspot.com/pets/Art3mis",
"description": "The URI of the iframe contents."
},
"width": {
"type": "integer",
"format": "int32",
"example": 600,
"description": "The width of the modal window in pixels."
},
"height": {
"type": "integer",
"format": "int32",
"example": 400,
"description": "The height of the modal window in pixels."
},
"linkLabel": {
"type": "string",
"example": "View Art3mis",
"description": "The text displaying the link that will display the iframe."
},
"headerLabel": {
"type": "string",
"example": "Art3mis dog",
"description": "The label of the modal window that displays the iframe contents."
}
}
}
TimelineEventResponse
{
"type": "object",
"example": {
"id": "petspot:1001298:art3mis-pup@petspot.com-004-invalid",
"email": "art3mis-pup@petspot.com",
"tokens": {
"petAge": "3",
"petName": "Art3mis",
"petColor": "black"
},
"objectId": "28001",
"extraData": {
"questions": [
{
"answer": "Bark!",
"question": "Who's a good girl?"
},
{
"answer": "Woof!",
"question": "Do you wanna go on a walk?"
}
]
},
"timestamp": "2020-01-30T18:37:15.569Z",
"objectType": "contacts",
"timelineIFrame": {
"url": "https://my.petspot.com/pets/Art3mis",
"width": 600,
"height": 400,
"linkLabel": "View Art3mis",
"headerLabel": "Art3mis dog"
},
"eventTemplateId": "1001298"
},
"required": [
"eventTemplateId",
"id",
"objectType",
"tokens"
],
"properties": {
"id": {
"type": "string",
"example": "petspot:1001298:art3mis-pup@petspot.com-004-invalid",
"description": "Identifier for the event. This should be unique to the app and event template. If you use the same ID for different CRM objects, the last to be processed will win and the first will not have a record. You can also use `{{uuid}}` anywhere in the ID to generate a unique string, guaranteeing uniqueness."
},
"utk": {
"type": "string",
"description": "Use the `utk` parameter to associate an event with a contact by `usertoken`. This is recommended if you don't know a user's email, but have an identifying user token in your cookie."
},
"email": {
"type": "string",
"example": "art3mis-pup@petspot.com",
"description": "The email address used for contact-specific events. This can be used to identify existing contacts, create new ones, or change the email for an existing contact (if paired with the `objectId`)."
},
"domain": {
"type": "string",
"description": "The event domain (often paired with utk)."
},
"tokens": {
"type": "object",
"example": {
"petAge": "3",
"petName": "Art3mis",
"petColor": "black"
},
"description": "A collection of token keys and values associated with the template tokens.",
"additionalProperties": {
"type": "string"
}
},
"objectId": {
"type": "string",
"example": "28001",
"description": "The CRM object identifier. This is required for every event other than contacts (where utk or email can be used)."
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"extraData": {
"type": "object",
"example": {
"questions": [
{
"answer": "Bark!",
"question": "Who's a good girl?"
},
{
"answer": "Woof!",
"question": "Do you wanna go on a walk?"
}
]
},
"properties": {},
"description": "Additional event-specific data that can be interpreted by the template's markdown."
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "The time the event occurred. If not passed in, the curren time will be assumed. This is used to determine where an event is shown on a CRM object's timeline."
},
"objectType": {
"type": "string",
"example": "contacts",
"description": "The ObjectType associated with the EventTemplate."
},
"timelineIFrame": {
"$ref": "#/components/schemas/TimelineEventIFrame"
},
"eventTemplateId": {
"type": "string",
"example": "1001298",
"description": "The event template ID."
}
},
"description": "The current state of the timeline event."
}
TimelineEventTemplate
{
"type": "object",
"required": [
"id",
"name",
"objectType",
"tokens"
],
"properties": {
"id": {
"type": "string",
"description": "The template ID."
},
"name": {
"type": "string",
"description": "The template name."
},
"tokens": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TimelineEventTemplateToken"
},
"description": "A collection of tokens that can be used as custom properties on the event and to create fully fledged CRM objects."
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "The date and time that the Event Template was created, as an ISO 8601 timestamp. Will be null if the template was created before Feb 18th, 2020."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "The date and time that the Event Template was last updated, as an ISO 8601 timestamp. Will be null if the template was created before Feb 18th, 2020."
},
"objectType": {
"type": "string",
"description": "The type of CRM object this template is for. [Contacts, companies, tickets, and deals] are supported."
},
"detailTemplate": {
"type": "string",
"description": "This uses Markdown syntax with Handlebars and event-specific data to render HTML on a timeline when you expand the details."
},
"headerTemplate": {
"type": "string",
"description": "This uses Markdown syntax with Handlebars and event-specific data to render HTML on a timeline as a header."
}
},
"description": "The current state of the template definition."
}
TimelineEventTemplateCreateRequest
{
"type": "object",
"example": {
"name": "PetSpot Registration",
"tokens": [
{
"name": "petName",
"type": "string",
"label": "Pet Name"
},
{
"name": "petAge",
"type": "number",
"label": "Pet Age"
},
{
"name": "petColor",
"type": "enumeration",
"label": "Pet Color",
"options": [
{
"label": "White",
"value": "white"
},
{
"label": "Black",
"value": "black"
},
{
"label": "Brown",
"value": "brown"
},
{
"label": "Other",
"value": "other"
}
]
}
],
"objectType": "contacts",
"detailTemplate": "Registration occurred at {{#formatDate timestamp}}{{/formatDate}}\n\n#### Questions\n{{#each extraData.questions}}\n **{{question}}**: {{answer}}\n{{/each}}",
"headerTemplate": "Registered for [{{petName}}](https://my.petspot.com/pets/{{petName}})"
},
"required": [
"name",
"objectType",
"tokens"
],
"properties": {
"name": {
"type": "string",
"example": "PetSpot Registration",
"description": "The template name."
},
"tokens": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TimelineEventTemplateToken"
},
"example": [
{
"name": "petName",
"type": "string",
"label": "Pet Name"
},
{
"name": "petAge",
"type": "number",
"label": "Pet Age"
},
{
"name": "petColor",
"type": "enumeration",
"label": "Pet Color",
"options": [
{
"label": "White",
"value": "white"
},
{
"label": "Black",
"value": "black"
},
{
"label": "Brown",
"value": "brown"
},
{
"label": "Other",
"value": "other"
}
]
}
],
"description": "A collection of tokens that can be used as custom properties on the event and to create fully fledged CRM objects."
},
"objectType": {
"type": "string",
"example": "contacts",
"description": "The type of CRM object this template is for. [Contacts, companies, tickets, and deals] are supported."
},
"detailTemplate": {
"type": "string",
"example": "Registration occurred at {{#formatDate timestamp}}{{/formatDate}}\n\n#### Questions\n{{#each extraData.questions}}\n **{{question}}**: {{answer}}\n{{/each}}",
"description": "This uses Markdown syntax with Handlebars and event-specific data to render HTML on a timeline when you expand the details."
},
"headerTemplate": {
"type": "string",
"example": "Registered for [{{petName}}](https://my.petspot.com/pets/{{petName}})",
"description": "This uses Markdown syntax with Handlebars and event-specific data to render HTML on a timeline as a header."
}
},
"description": "State of the template definition being created."
}
TimelineEventTemplateToken
{
"type": "object",
"example": {
"name": "petType",
"type": "enumeration",
"label": "Pet Type",
"options": [
{
"label": "Dog",
"value": "dog"
},
{
"label": "Cat",
"value": "cat"
}
],
"createdAt": "2020-02-12T20:58:26Z",
"updatedAt": "2020-02-12T20:58:26Z",
"objectPropertyName": "customPropertyPetType"
},
"required": [
"label",
"name",
"type"
],
"properties": {
"name": {
"type": "string",
"example": "petType",
"description": "The name of the token referenced in the templates. This must be unique for the specific template. It may only contain alphanumeric characters, periods, dashes, or underscores (. - _)."
},
"type": {
"enum": [
"date",
"enumeration",
"number",
"string"
],
"type": "string",
"example": "enumeration",
"description": "The data type of the token. You can currently choose from [string, number, date, enumeration]."
},
"label": {
"type": "string",
"example": "Pet Type",
"description": "Used for list segmentation and reporting."
},
"options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TimelineEventTemplateTokenOption"
},
"example": [
{
"label": "Dog",
"value": "dog"
},
{
"label": "Cat",
"value": "cat"
}
],
"description": "If type is `enumeration`, we should have a list of options to choose from."
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "The date and time that the Event Template Token was created, as an ISO 8601 timestamp. Will be null if the template was created before Feb 18th, 2020."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "The date and time that the Event Template Token was last updated, as an ISO 8601 timestamp. Will be null if the template was created before Feb 18th, 2020."
},
"objectPropertyName": {
"type": "string",
"example": "customPropertyPetType",
"description": "The name of the CRM object property. This will populate the CRM object property associated with the event. With enough of these, you can fully build CRM objects via the Timeline API."
}
},
"description": "State of the token definition."
}