HubSpot CRM

CRM and marketing platform

developers.hubspot.com/docs/api ↗
Version
v3
OpenAPI
3.0.1
Endpoints
172
Schemas
104
Updated
3 days ago
Crm crm marketing sales
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://api.hubapi.com

Authentication

oauth2 oauth2 apiKey apiKey apiKey

Endpoints

Clear filters

Basic 9 endpoints

PATCH /crm/v3/objects/companies/{companyId}

Perform a partial update of an Object identified by `{companyId}`. `{companyId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.

operationId: Basic_updateCompanyObject

Parameters

Name In Required Type Description
companyId path required string
idProperty query optional string The name of a property whose values are unique for this object type

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SimplePublicObjectInput"
      }
    }
  },
  "required": true
}

Responses

default
200 successful operation
PATCH /crm/v3/objects/companies/{companyId}
PATCH /crm/v3/objects/contacts/{contactId}

Perform a partial update of an Object identified by `{contactId}`. `{contactId}` refers to the internal object ID. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.

operationId: Basic_updateContactObject

Parameters

Name In Required Type Description
contactId path required string

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SimplePublicObjectInput"
      }
    }
  },
  "required": true
}

Responses

default
200 successful operation
PATCH /crm/v3/objects/contacts/{contactId}
PATCH /crm/v3/objects/deals/{dealId}

Perform a partial update of an Object identified by `{dealId}`. `{dealId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.

operationId: Basic_updateDealObject

Parameters

Name In Required Type Description
dealId path required string
idProperty query optional string The name of a property whose values are unique for this object type

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SimplePublicObjectInput"
      }
    }
  },
  "required": true
}

Responses

default
200 successful operation
PATCH /crm/v3/objects/deals/{dealId}
PATCH /crm/v3/objects/feedback_submissions/{feedbackSubmissionId}

Perform a partial update of an Object identified by `{feedbackSubmissionId}`. `{feedbackSubmissionId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.

operationId: Basic_updateFeedbackSubmission

Parameters

Name In Required Type Description
feedbackSubmissionId path required string
idProperty query optional string The name of a property whose values are unique for this object type

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SimplePublicObjectInput"
      }
    }
  },
  "required": true
}

Responses

default
200 successful operation
PATCH /crm/v3/objects/feedback_submissions/{feedbackSubmissionId}
PATCH /crm/v3/objects/line_items/{lineItemId}

Perform a partial update of an Object identified by `{lineItemId}`. `{lineItemId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.

operationId: Basic_updateLineItemObject

Parameters

Name In Required Type Description
lineItemId path required string
idProperty query optional string The name of a property whose values are unique for this object type

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SimplePublicObjectInput"
      }
    }
  },
  "required": true
}

Responses

default
200 successful operation
PATCH /crm/v3/objects/line_items/{lineItemId}
PATCH /crm/v3/objects/products/{productId}

Perform a partial update of an Object identified by `{productId}`. `{productId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.

operationId: Basic_updateProduct

Parameters

Name In Required Type Description
productId path required string
idProperty query optional string The name of a property whose values are unique for this object type

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SimplePublicObjectInput"
      }
    }
  },
  "required": true
}

Responses

default
200 successful operation
PATCH /crm/v3/objects/products/{productId}
PATCH /crm/v3/objects/quotes/{quoteId}

Perform a partial update of an Object identified by `{quoteId}`. `{quoteId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.

operationId: Basic_updateQuoteObject

Parameters

Name In Required Type Description
quoteId path required string
idProperty query optional string The name of a property whose values are unique for this object type

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SimplePublicObjectInput"
      }
    }
  },
  "required": true
}

Responses

default
200 successful operation
PATCH /crm/v3/objects/quotes/{quoteId}
PATCH /crm/v3/objects/tickets/{ticketId}

Perform a partial update of an Object identified by `{ticketId}`. `{ticketId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.

operationId: Basic_updateTicketObject

Parameters

Name In Required Type Description
ticketId path required string
idProperty query optional string The name of a property whose values are unique for this object type

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SimplePublicObjectInput"
      }
    }
  },
  "required": true
}

Responses

default
200 successful operation
PATCH /crm/v3/objects/tickets/{ticketId}
PATCH /crm/v3/objects/{objectType}/{objectId}

Perform a partial update of an Object identified by `{objectId}`. `{objectId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.

operationId: Basic_updateObject

Parameters

Name In Required Type Description
objectType path required string
objectId path required string
idProperty query optional string The name of a property whose values are unique for this object type

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SimplePublicObjectInput"
      }
    }
  },
  "required": true
}

Responses

default
200 successful operation
PATCH /crm/v3/objects/{objectType}/{objectId}

Core 2 endpoints

PATCH /crm/v3/properties/{objectType}/{propertyName}

Perform a partial update of a property identified by {propertyName}. Provided fields will be overwritten.

operationId: Core_updatePropertyById

Parameters

Name In Required Type Description
objectType path required string
propertyName path required string

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PropertyUpdate"
      }
    }
  },
  "required": true
}

Responses

default
200 successful operation
PATCH /crm/v3/properties/{objectType}/{propertyName}
PATCH /crm/v3/schemas/{objectType}

Update the details for an existing object schema.

operationId: Core_updateSchemaObject

Parameters

Name In Required Type Description
objectType path required string Fully qualified name or object type ID of your schema.

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ObjectTypeDefinitionPatch"
      }
    }
  },
  "required": true,
  "description": "Attributes to update in your schema."
}

Responses

default
200 successful operation
PATCH /crm/v3/schemas/{objectType}

Groups 1 endpoints

PATCH /crm/v3/properties/{objectType}/groups/{groupName}

Perform a partial update of a property group identified by {groupName}. Provided fields will be overwritten.

operationId: Groups_updatePropertyGroup

Parameters

Name In Required Type Description
objectType path required string
groupName path required string

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PropertyGroupUpdate"
      }
    }
  },
  "required": true
}

Responses

default
200 successful operation
PATCH /crm/v3/properties/{objectType}/groups/{groupName}

Pipeline stages 1 endpoints

PATCH /crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}

Perform a partial update of the pipeline stage identified by `{stageId}` associated with the pipeline identified by `{pipelineId}`. Any properties not included in this update will keep their existing values. The updated stage will be returned in the response.

operationId: PipelineStages_updateStageById

Parameters

Name In Required Type Description
objectType path required string
pipelineId path required string
stageId path required string

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PipelineStagePatchInput"
      }
    }
  },
  "required": true
}

Responses

default
200 successful operation
PATCH /crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}

Pipelines 1 endpoints

PATCH /crm/v3/pipelines/{objectType}/{pipelineId}

Perform a partial update of the pipeline identified by `{pipelineId}`. The updated pipeline will be returned in the response.

operationId: Pipelines_updatePipelineById

Parameters

Name In Required Type Description
objectType path required string
pipelineId path required string
validateReferencesBeforeDelete query optional boolean
validateDealStageUsagesBeforeDelete query optional boolean

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PipelinePatchInput"
      }
    }
  },
  "required": true
}

Responses

default
200 successful operation
PATCH /crm/v3/pipelines/{objectType}/{pipelineId}

Recording settings 1 endpoints

PATCH /crm/v3/extensions/calling/{appId}/settings/recording
operationId: RecordingSettings_updateCallingSettings

Parameters

Name In Required Type Description
appId path required integer

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/RecordingSettingsPatchRequest"
      }
    }
  },
  "required": true
}

Responses

default
200 successful operation
PATCH /crm/v3/extensions/calling/{appId}/settings/recording

Settings 1 endpoints

PATCH /crm/v3/extensions/calling/{appId}/settings

Updates existing calling extension settings.

operationId: Settings_updateCallingExtension

Parameters

Name In Required Type Description
appId path required integer The ID of the target app.

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SettingsPatchRequest"
      }
    }
  },
  "required": true,
  "description": "Updated details for the settings."
}

Responses

default
200 successful operation
PATCH /crm/v3/extensions/calling/{appId}/settings

Schemas

object ActionResponse
{
  "type": "object",
  "required": [
    "completedAt",
    "startedAt",
    "status"
  ],
  "properties": {
    "links": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "status": {
      "enum": [
        "PENDING",
        "PROCESSING",
        "CANCELED",
        "COMPLETE"
      ],
      "type": "string"
    },
    "startedAt": {
      "type": "string",
      "format": "date-time"
    },
    "completedAt": {
      "type": "string",
      "format": "date-time"
    },
    "requestedAt": {
      "type": "string",
      "format": "date-time"
    }
  }
}
object AssociatedId
{
  "type": "object",
  "required": [
    "id",
    "type"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  }
}
object AssociationDefinition
{
  "type": "object",
  "example": {
    "id": "105",
    "name": "my_object_to_contact",
    "toObjectTypeId": "0-1",
    "fromObjectTypeId": "2-123456"
  },
  "required": [
    "fromObjectTypeId",
    "id",
    "toObjectTypeId"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "105",
      "description": "A unique ID for this association."
    },
    "name": {
      "type": "string",
      "example": "my_object_to_contact",
      "description": "A unique name for this association."
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "When the association was defined."
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "When the association was last updated."
    },
    "toObjectTypeId": {
      "type": "string",
      "example": "0-1",
      "description": "ID of the target object type ID to link to."
    },
    "fromObjectTypeId": {
      "type": "string",
      "example": "2-123456",
      "description": "ID of the primary object type to link from."
    }
  },
  "description": "Defines an association between two object types."
}
object AssociationDefinitionEgg
{
  "type": "object",
  "example": {
    "name": "my_object_to_contact",
    "toObjectTypeId": "contact",
    "fromObjectTypeId": "2-123456"
  },
  "required": [
    "fromObjectTypeId",
    "toObjectTypeId"
  ],
  "properties": {
    "name": {
      "type": "string",
      "example": "my_object_to_contact",
      "description": "A unique name for this association."
    },
    "toObjectTypeId": {
      "type": "string",
      "example": "contact",
      "description": "ID of the target object type ID to link to."
    },
    "fromObjectTypeId": {
      "type": "string",
      "example": "2-123456",
      "description": "ID of the primary object type to link from."
    }
  },
  "description": "Defines an association between two object types."
}
object AssociationSpec
{
  "type": "object",
  "required": [
    "associationCategory",
    "associationTypeId"
  ],
  "properties": {
    "associationTypeId": {
      "type": "integer",
      "format": "int32"
    },
    "associationCategory": {
      "enum": [
        "HUBSPOT_DEFINED",
        "USER_DEFINED",
        "INTEGRATOR_DEFINED"
      ],
      "type": "string"
    }
  }
}
object BatchInputPropertyCreate
{
  "type": "object",
  "required": [
    "inputs"
  ],
  "properties": {
    "inputs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PropertyCreate"
      }
    }
  }
}
object BatchInputPropertyName
{
  "type": "object",
  "required": [
    "inputs"
  ],
  "properties": {
    "inputs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PropertyName"
      }
    }
  }
}
object BatchInputSimplePublicObjectBatchInput
{
  "type": "object",
  "required": [
    "inputs"
  ],
  "properties": {
    "inputs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SimplePublicObjectBatchInput"
      }
    }
  }
}
object BatchInputSimplePublicObjectId
{
  "type": "object",
  "required": [
    "inputs"
  ],
  "properties": {
    "inputs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SimplePublicObjectId"
      }
    }
  }
}
object BatchInputSimplePublicObjectInputForCreate
{
  "type": "object",
  "required": [
    "inputs"
  ],
  "properties": {
    "inputs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SimplePublicObjectInputForCreate"
      }
    }
  }
}
object BatchInputTimelineEvent
{
  "type": "object",
  "example": {
    "inputs": [
      {
        "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"
      },
      {
        "email": "pocket-tiger@petspot.com",
        "tokens": {
          "petAge": 3,
          "petName": "Pocket",
          "petColor": "yellow"
        },
        "extraData": {
          "questions": [
            {
              "answer": "Purr...",
              "question": "Who's a good kitty?"
            },
            {
              "answer": "Meow!",
              "question": "Will you stop playing with that?"
            }
          ]
        },
        "timelineIFrame": {
          "url": "https://my.petspot.com/pets/Pocket",
          "width": 600,
          "height": 400,
          "linkLabel": "View Pocket",
          "headerLabel": "Pocket Tiger"
        },
        "eventTemplateId": "1001298"
      }
    ]
  },
  "required": [
    "inputs"
  ],
  "properties": {
    "inputs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TimelineEvent"
      },
      "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"
        },
        {
          "email": "pocket-tiger@petspot.com",
          "tokens": {
            "petAge": 3,
            "petName": "Pocket",
            "petColor": "yellow"
          },
          "extraData": {
            "questions": [
              {
                "answer": "Purr...",
                "question": "Who's a good kitty?"
              },
              {
                "answer": "Meow!",
                "question": "Will you stop playing with that?"
              }
            ]
          },
          "timelineIFrame": {
            "url": "https://my.petspot.com/pets/Pocket",
            "width": 600,
            "height": 400,
            "linkLabel": "View Pocket",
            "headerLabel": "Pocket Tiger"
          },
          "eventTemplateId": "1001298"
        }
      ],
      "description": "A collection of timeline events we want to create."
    }
  },
  "description": "Used to create timeline events in batches."
}
object BatchReadInputPropertyName
{
  "type": "object",
  "required": [
    "archived",
    "inputs"
  ],
  "properties": {
    "inputs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PropertyName"
      }
    },
    "archived": {
      "type": "boolean"
    }
  }
}
object BatchReadInputSimplePublicObjectId
{
  "type": "object",
  "required": [
    "inputs",
    "properties",
    "propertiesWithHistory"
  ],
  "properties": {
    "inputs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SimplePublicObjectId"
      }
    },
    "idProperty": {
      "type": "string"
    },
    "properties": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "propertiesWithHistory": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}
object BatchResponseProperty
{
  "type": "object",
  "required": [
    "completedAt",
    "results",
    "startedAt",
    "status"
  ],
  "properties": {
    "links": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "status": {
      "enum": [
        "PENDING",
        "PROCESSING",
        "CANCELED",
        "COMPLETE"
      ],
      "type": "string"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Property"
      }
    },
    "startedAt": {
      "type": "string",
      "format": "date-time"
    },
    "completedAt": {
      "type": "string",
      "format": "date-time"
    },
    "requestedAt": {
      "type": "string",
      "format": "date-time"
    }
  }
}
object BatchResponsePropertyWithErrors
{
  "type": "object",
  "required": [
    "completedAt",
    "results",
    "startedAt",
    "status"
  ],
  "properties": {
    "links": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/StandardError"
      }
    },
    "status": {
      "enum": [
        "PENDING",
        "PROCESSING",
        "CANCELED",
        "COMPLETE"
      ],
      "type": "string"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Property"
      }
    },
    "numErrors": {
      "type": "integer",
      "format": "int32"
    },
    "startedAt": {
      "type": "string",
      "format": "date-time"
    },
    "completedAt": {
      "type": "string",
      "format": "date-time"
    },
    "requestedAt": {
      "type": "string",
      "format": "date-time"
    }
  }
}
object BatchResponseSimplePublicObject
{
  "type": "object",
  "required": [
    "completedAt",
    "results",
    "startedAt",
    "status"
  ],
  "properties": {
    "links": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "status": {
      "enum": [
        "PENDING",
        "PROCESSING",
        "CANCELED",
        "COMPLETE"
      ],
      "type": "string"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SimplePublicObject"
      }
    },
    "startedAt": {
      "type": "string",
      "format": "date-time"
    },
    "completedAt": {
      "type": "string",
      "format": "date-time"
    },
    "requestedAt": {
      "type": "string",
      "format": "date-time"
    }
  }
}
object BatchResponseSimplePublicObjectWithErrors
{
  "type": "object",
  "required": [
    "completedAt",
    "results",
    "startedAt",
    "status"
  ],
  "properties": {
    "links": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/StandardError"
      }
    },
    "status": {
      "enum": [
        "PENDING",
        "PROCESSING",
        "CANCELED",
        "COMPLETE"
      ],
      "type": "string"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SimplePublicObject"
      }
    },
    "numErrors": {
      "type": "integer",
      "format": "int32"
    },
    "startedAt": {
      "type": "string",
      "format": "date-time"
    },
    "completedAt": {
      "type": "string",
      "format": "date-time"
    },
    "requestedAt": {
      "type": "string",
      "format": "date-time"
    }
  }
}
object BatchResponseTimelineEventResponse
{
  "type": "object",
  "example": {
    "status": "COMPLETE",
    "results": [
      {
        "id": "petspot:1001298:art3mis-pup@petspot.com-6edaa73d-d734-404d-908f-74774d58ac2bX",
        "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:13:25.665Z",
        "objectType": "contacts",
        "timelineIFrame": {
          "url": "https://my.petspot.com/pets/Art3mis",
          "width": 600,
          "height": 400,
          "linkLabel": "View Art3mis",
          "headerLabel": "Art3mis dog"
        },
        "eventTemplateId": "1001298"
      },
      {
        "id": "petspot:1001298:pocket-tiger@petspot.com-0df6277b-6eba-4d1f-8c19-1994cbfaa4caX",
        "email": "pocket-tiger@petspot.com",
        "tokens": {
          "petAge": "3",
          "petName": "Pocket",
          "petColor": "yellow"
        },
        "objectId": "28651",
        "extraData": {
          "questions": [
            {
              "answer": "Purr...",
              "question": "Who's a good kitty?"
            },
            {
              "answer": "Meow!",
              "question": "Will you stop playing with that?"
            }
          ]
        },
        "timestamp": "2020-01-30T18:13:25.665Z",
        "objectType": "contacts",
        "timelineIFrame": {
          "url": "https://my.petspot.com/pets/Pocket",
          "width": 600,
          "height": 400,
          "linkLabel": "View Pocket",
          "headerLabel": "Pocket Tiger"
        },
        "eventTemplateId": "1001298"
      }
    ],
    "startedAt": "2020-01-30T18:13:24.974023Z",
    "completedAt": "2020-01-30T18:13:26.227559Z"
  },
  "required": [
    "completedAt",
    "results",
    "startedAt",
    "status"
  ],
  "properties": {
    "links": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "status": {
      "enum": [
        "PENDING",
        "PROCESSING",
        "CANCELED",
        "COMPLETE"
      ],
      "type": "string",
      "example": "COMPLETE",
      "description": "The status of the batch response. Should always be COMPLETED if processed."
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TimelineEventResponse"
      },
      "example": [
        {
          "id": "petspot:1001298:art3mis-pup@petspot.com-6edaa73d-d734-404d-908f-74774d58ac2b",
          "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:13:25.665Z",
          "objectType": "contacts",
          "timelineIFrame": {
            "url": "https://my.petspot.com/pets/Art3mis",
            "width": 600,
            "height": 400,
            "linkLabel": "View Art3mis",
            "headerLabel": "Art3mis dog"
          },
          "eventTemplateId": "1001298"
        },
        {
          "id": "petspot:1001298:pocket-tiger@petspot.com-0df6277b-6eba-4d1f-8c19-1994cbfaa4ca",
          "email": "pocket-tiger@petspot.com",
          "tokens": {
            "petAge": "3",
            "petName": "Pocket",
            "petColor": "yellow"
          },
          "objectId": "28651",
          "extraData": {
            "questions": [
              {
                "answer": "Purr...",
                "question": "Who's a good kitty?"
              },
              {
                "answer": "Meow!",
                "question": "Will you stop playing with that?"
              }
            ]
          },
          "timestamp": "2020-01-30T18:13:25.665Z",
          "objectType": "contacts",
          "timelineIFrame": {
            "url": "https://my.petspot.com/pets/Pocket",
            "width": 600,
            "height": 400,
            "linkLabel": "View Pocket",
            "headerLabel": "Pocket Tiger"
          },
          "eventTemplateId": "1001298"
        }
      ],
      "description": "Successfully created events."
    },
    "startedAt": {
      "type": "string",
      "format": "date-time",
      "description": "The time the request began processing."
    },
    "completedAt": {
      "type": "string",
      "format": "date-time",
      "description": "The time the request was completed."
    },
    "requestedAt": {
      "type": "string",
      "format": "date-time",
      "description": "The time the request occurred."
    }
  },
  "description": "The state of the batch event request."
}
object BatchResponseTimelineEventResponseWithErrors
{
  "type": "object",
  "required": [
    "completedAt",
    "results",
    "startedAt",
    "status"
  ],
  "properties": {
    "links": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/StandardError"
      }
    },
    "status": {
      "enum": [
        "PENDING",
        "PROCESSING",
        "CANCELED",
        "COMPLETE"
      ],
      "type": "string"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TimelineEventResponse"
      }
    },
    "numErrors": {
      "type": "integer",
      "format": "int32"
    },
    "startedAt": {
      "type": "string",
      "format": "date-time"
    },
    "completedAt": {
      "type": "string",
      "format": "date-time"
    },
    "requestedAt": {
      "type": "string",
      "format": "date-time"
    }
  }
}
object CollectionResponseAssociatedId
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "paging": {
      "$ref": "#/components/schemas/Paging"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AssociatedId"
      }
    }
  }
}
object CollectionResponseObjectSchemaNoPaging
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ObjectSchema"
      }
    }
  }
}
object CollectionResponsePipelineNoPaging
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Pipeline"
      }
    }
  }
}
object CollectionResponsePipelineStageNoPaging
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PipelineStage"
      }
    }
  }
}
object CollectionResponsePropertyGroupNoPaging
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PropertyGroup"
      }
    }
  }
}
object CollectionResponsePropertyNoPaging
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Property"
      }
    }
  }
}
object CollectionResponsePublicAuditInfoNoPaging
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PublicAuditInfo"
      }
    }
  }
}
object CollectionResponsePublicImportErrorForwardPaging
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "paging": {
      "$ref": "#/components/schemas/ForwardPaging"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PublicImportError"
      }
    }
  }
}
object CollectionResponsePublicImportResponse
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "paging": {
      "$ref": "#/components/schemas/Paging"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PublicImportResponse"
      }
    }
  }
}
object CollectionResponsePublicOwnerForwardPaging
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "paging": {
      "$ref": "#/components/schemas/ForwardPaging"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PublicOwner"
      }
    }
  }
}
object CollectionResponseSimplePublicObjectWithAssociationsForwardPaging
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "paging": {
      "$ref": "#/components/schemas/ForwardPaging"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SimplePublicObjectWithAssociations"
      }
    }
  }
}
object CollectionResponseTimelineEventTemplateNoPaging
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TimelineEventTemplate"
      }
    }
  }
}
object CollectionResponseWithTotalSimplePublicObjectForwardPaging
{
  "type": "object",
  "required": [
    "results",
    "total"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "format": "int32"
    },
    "paging": {
      "$ref": "#/components/schemas/ForwardPaging"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SimplePublicObject"
      }
    }
  }
}
object CoreStartImportRequest
{
  "type": "object",
  "properties": {
    "files": {
      "type": "string",
      "format": "binary",
      "description": "A list of files containing the data to import"
    },
    "importRequest": {
      "type": "string",
      "description": "JSON formatted metadata about the import. This includes a name for the import and the column mappings for each file. See the overview tab for more on the required format."
    }
  }
}
object Error
{
  "type": "object",
  "example": {
    "links": {
      "knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
    },
    "message": "Invalid input (details will vary based on the error)",
    "category": "VALIDATION_ERROR",
    "correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf"
  },
  "required": [
    "category",
    "correlationId",
    "message"
  ],
  "properties": {
    "links": {
      "type": "object",
      "example": {
        "knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
      },
      "description": "A map of link names to associated URIs containing documentation about the error or recommended remediation steps",
      "additionalProperties": {
        "type": "string"
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ErrorDetail"
      },
      "description": "further information about the error"
    },
    "context": {
      "type": "object",
      "example": {
        "missingScopes": [
          "scope1",
          "scope2"
        ],
        "invalidPropertyName": [
          "propertyValue"
        ]
      },
      "description": "Context about the error condition",
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    },
    "message": {
      "type": "string",
      "example": "Invalid input (details will vary based on the error)",
      "description": "A human readable message describing the error along with remediation steps where appropriate"
    },
    "category": {
      "type": "string",
      "example": "VALIDATION_ERROR",
      "description": "The error category"
    },
    "subCategory": {
      "type": "string",
      "description": "A specific category that contains more specific detail about the error"
    },
    "correlationId": {
      "type": "string",
      "format": "uuid",
      "example": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
      "description": "A unique identifier for the request. Include this value with any error reports or support tickets"
    }
  }
}
object ErrorDetail
{
  "type": "object",
  "required": [
    "message"
  ],
  "properties": {
    "in": {
      "type": "string",
      "description": "The name of the field or parameter in which the error was found."
    },
    "code": {
      "type": "string",
      "description": "The status code associated with the error detail"
    },
    "context": {
      "type": "object",
      "example": {
        "missingScopes": [
          "scope1",
          "scope2"
        ]
      },
      "description": "Context about the error condition",
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    },
    "message": {
      "type": "string",
      "description": "A human readable message describing the error along with remediation steps where appropriate"
    },
    "subCategory": {
      "type": "string",
      "description": "A specific category that contains more specific detail about the error"
    }
  }
}
object EventDetail
{
  "type": "object",
  "example": {
    "details": "<p>Registration occurred at Jan 30, 2020, 1:13:25 PM</p><h4>Questions</h4><p><strong>Who&#x27;s a good kitty?</strong>: Purr...</p><p><strong>Will you stop playing with that?</strong>: Meow!</p><p>EDIT</p>"
  },
  "required": [
    "details"
  ],
  "properties": {
    "details": {
      "type": "string",
      "example": "<p>Registration occurred at Jan 30, 2020, 1:13:25 PM</p><h4>Questions</h4><p><strong>Who&#x27;s a good kitty?</strong>: Purr...</p><p><strong>Will you stop playing with that?</strong>: Meow!</p><p>EDIT</p>",
      "description": "The details Markdown rendered as HTML."
    }
  },
  "description": "The details Markdown rendered as HTML."
}
object EventsCreateMultipleBatchResponse
{
  "type": "object",
  "example": {
    "status": "COMPLETE",
    "results": [
      {
        "id": "petspot:1001298:art3mis-pup@petspot.com-b9d73144-41bb-46c8-9a3f-f0849c1ad7e6",
        "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:10:17.057Z",
        "objectType": "contacts",
        "timelineIFrame": {
          "url": "https://my.petspot.com/pets/Art3mis",
          "width": 600,
          "height": 400,
          "linkLabel": "View Art3mis",
          "headerLabel": "Art3mis dog"
        },
        "eventTemplateId": "1001298"
      },
      {
        "id": "petspot:1001298:pocket-tiger@petspot.com-c09a620f-60a4-46a8-be9f-fe0609fc3f0e",
        "email": "pocket-tiger@petspot.com",
        "tokens": {
          "petAge": "3",
          "petName": "Pocket",
          "petColor": "yellow"
        },
        "objectId": "28651",
        "extraData": {
          "questions": [
            {
              "answer": "Purr...",
              "question": "Who's a good kitty?"
            },
            {
              "answer": "Meow!",
              "question": "Will you stop playing with that?"
            }
          ]
        },
        "timestamp": "2020-01-30T18:10:17.057Z",
        "objectType": "contacts",
        "timelineIFrame": {
          "url": "https://my.petspot.com/pets/Pocket",
          "width": 600,
          "height": 400,
          "linkLabel": "View Pocket",
          "headerLabel": "Pocket Tiger"
        },
        "eventTemplateId": "1001298"
      }
    ],
    "startedAt": "2020-01-30T18:10:16.478734Z",
    "completedAt": "2020-01-30T18:10:17.793206Z"
  },
  "properties": {
    "status": {
      "type": "string",
      "example": "COMPLETE"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "petspot:1001298:art3mis-pup@petspot.com-b9d73144-41bb-46c8-9a3f-f0849c1ad7e6"
          },
          "email": {
            "type": "string",
            "example": "art3mis-pup@petspot.com"
          },
          "tokens": {
            "type": "object",
            "properties": {
              "petAge": {
                "type": "string",
                "example": "3"
              },
              "petName": {
                "type": "string",
                "example": "Art3mis"
              },
              "petColor": {
                "type": "string",
                "example": "black"
              }
            }
          },
          "objectId": {
            "type": "string",
            "example": "28001"
          },
          "extraData": {
            "type": "object",
            "properties": {
              "questions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "answer": {
                      "type": "string",
                      "example": "Bark!"
                    },
                    "question": {
                      "type": "string",
                      "example": "Who's a good girl?"
                    }
                  }
                }
              }
            }
          },
          "timestamp": {
            "type": "string",
            "example": "2020-01-30T18:10:17.057Z"
          },
          "objectType": {
            "type": "string",
            "example": "contacts"
          },
          "timelineIFrame": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "example": "https://my.petspot.com/pets/Art3mis"
              },
              "width": {
                "type": "number",
                "example": 600
              },
              "height": {
                "type": "number",
                "example": 400
              },
              "linkLabel": {
                "type": "string",
                "example": "View Art3mis"
              },
              "headerLabel": {
                "type": "string",
                "example": "Art3mis dog"
              }
            }
          },
          "eventTemplateId": {
            "type": "string",
            "example": "1001298"
          }
        }
      }
    },
    "startedAt": {
      "type": "string",
      "example": "2020-01-30T18:10:16.478734Z"
    },
    "completedAt": {
      "type": "string",
      "example": "2020-01-30T18:10:17.793206Z"
    }
  }
}
string EventsRenderingHtmlResponse
{
  "type": "string"
}
object ExternalSettings
{
  "type": "object",
  "example": {
    "userVerifyUrl": "https://example.com/user-verify",
    "createMeetingUrl": "https://example.com/create-meeting",
    "deleteMeetingUrl": "https://example.com/delete-meeting",
    "updateMeetingUrl": "https://example.com/update-meeting"
  },
  "required": [
    "createMeetingUrl"
  ],
  "properties": {
    "userVerifyUrl": {
      "type": "string",
      "example": "https://example.com/user-verify",
      "description": "The URL that HubSpot will use to verify that a user exists in the video conference application."
    },
    "createMeetingUrl": {
      "type": "string",
      "example": "https://example.com/create-meeting",
      "description": "The URL that HubSpot will send requests to create a new video conference."
    },
    "deleteMeetingUrl": {
      "type": "string",
      "example": "https://example.com/delete-meeting",
      "description": "The URL that HubSpot will send notifications of meetings that have been deleted in HubSpot."
    },
    "fetchAccountsUri": {
      "type": "string"
    },
    "updateMeetingUrl": {
      "type": "string",
      "example": "https://example.com/update-meeting",
      "description": "The URL that HubSpot will send updates to existing meetings. Typically called when the user changes the topic or times of a meeting."
    }
  },
  "description": "The URLs of the various actions provided by the video conferencing application. All URLs must use the `https` protocol."
}
object Filter
{
  "type": "object",
  "required": [
    "operator",
    "propertyName"
  ],
  "properties": {
    "value": {
      "type": "string"
    },
    "values": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "operator": {
      "enum": [
        "EQ",
        "NEQ",
        "LT",
        "LTE",
        "GT",
        "GTE",
        "BETWEEN",
        "IN",
        "NOT_IN",
        "HAS_PROPERTY",
        "NOT_HAS_PROPERTY",
        "CONTAINS_TOKEN",
        "NOT_CONTAINS_TOKEN"
      ],
      "type": "string",
      "description": "null"
    },
    "highValue": {
      "type": "string"
    },
    "propertyName": {
      "type": "string"
    }
  }
}
object FilterGroup
{
  "type": "object",
  "required": [
    "filters"
  ],
  "properties": {
    "filters": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Filter"
      }
    }
  }
}
object ForwardPaging
{
  "type": "object",
  "properties": {
    "next": {
      "$ref": "#/components/schemas/NextPage"
    }
  }
}
object ImportRowCore
{
  "type": "object",
  "required": [
    "fileId",
    "lineNumber",
    "rowData"
  ],
  "properties": {
    "fileId": {
      "type": "integer",
      "format": "int32"
    },
    "rowData": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "pageName": {
      "type": "string"
    },
    "lineNumber": {
      "type": "integer",
      "format": "int32"
    }
  }
}
object ImportTemplate
{
  "type": "object",
  "required": [
    "templateId",
    "templateType"
  ],
  "properties": {
    "templateId": {
      "type": "integer",
      "format": "int32"
    },
    "templateType": {
      "enum": [
        "admin_defined",
        "previous_import",
        "user_file"
      ],
      "type": "string"
    }
  }
}
object NextPage
{
  "type": "object",
  "example": {
    "link": "?after=NTI1Cg%3D%3D",
    "after": "NTI1Cg%3D%3D"
  },
  "required": [
    "after"
  ],
  "properties": {
    "link": {
      "type": "string",
      "example": "?after=NTI1Cg%3D%3D"
    },
    "after": {
      "type": "string",
      "example": "NTI1Cg%3D%3D"
    }
  }
}
object ObjectSchema
{
  "type": "object",
  "example": {
    "id": "123456X",
    "name": "my_object",
    "labels": {
      "plural": "My objects",
      "singular": "My object"
    },
    "metaType": "PORTAL_SPECIFIC",
    "createdAt": "2020-02-20T18:07:11.390Z",
    "updatedAt": "2020-02-20T18:09:07.555Z",
    "properties": [
      {
        "name": "my_object_property",
        "type": "string",
        "label": "My object property",
        "archived": false,
        "createdAt": "2020-02-20T18:07:11.802Z",
        "fieldType": "text",
        "groupName": "my_object_information",
        "updatedAt": "2020-02-20T18:07:11.802Z",
        "calculated": false,
        "displayOrder": -1,
        "hasUniqueValue": false,
        "externalOptions": false
      }
    ],
    "associations": [
      {
        "id": "123X",
        "name": "my_object_to_contact",
        "toObjectTypeId": "0-1",
        "fromObjectTypeId": "2-123456"
      }
    ],
    "fullyQualifiedName": "p7878787_my_object\"",
    "requiredProperties": [
      "my_object_property"
    ],
    "searchableProperties": [
      "my_object_property"
    ],
    "primaryDisplayProperty": "my_object_property"
  },
  "required": [
    "associations",
    "id",
    "labels",
    "name",
    "properties",
    "requiredProperties"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "123456",
      "description": "A unique ID for this schema's object type. Will be defined as {meta-type}-{unique ID}."
    },
    "name": {
      "type": "string",
      "example": "my_object",
      "description": "A unique name for the schema's object type."
    },
    "labels": {
      "$ref": "#/components/schemas/ObjectTypeDefinitionLabels"
    },
    "archived": {
      "type": "boolean"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "When the object schema was created."
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "When the object schema was last updated."
    },
    "properties": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Property"
      },
      "example": [
        {
          "name": "my_object_property",
          "type": "string",
          "label": "My object property",
          "archived": false,
          "createdAt": "2020-02-20T18:07:11.802Z",
          "fieldType": "text",
          "groupName": "my_object_information",
          "updatedAt": "2020-02-20T18:07:11.802Z",
          "calculated": false,
          "displayOrder": -1,
          "hasUniqueValue": false,
          "externalOptions": false
        }
      ],
      "description": "Properties defined for this object type."
    },
    "description": {
      "type": "string"
    },
    "associations": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AssociationDefinition"
      },
      "example": [
        {
          "id": "123",
          "name": "my_object_to_contact",
          "toObjectTypeId": "0-1",
          "fromObjectTypeId": "2-123456"
        }
      ],
      "description": "Associations defined for a given object type."
    },
    "objectTypeId": {
      "type": "string"
    },
    "fullyQualifiedName": {
      "type": "string",
      "example": "p7878787_my_object\"",
      "description": "An assigned unique ID for the object, including portal ID and object name."
    },
    "requiredProperties": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "my_object_property"
      ],
      "description": "The names of properties that should be **required** when creating an object of this type."
    },
    "searchableProperties": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "my_object_property"
      ],
      "description": "Names of properties that will be indexed for this object type in by HubSpot's product search."
    },
    "primaryDisplayProperty": {
      "type": "string",
      "example": "my_object_property",
      "description": "The name of the primary property for this object. This will be displayed as primary on the HubSpot record page for this object type."
    },
    "secondaryDisplayProperties": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The names of secondary properties for this object. These will be displayed as secondary on the HubSpot record page for this object type."
    }
  },
  "description": "Defines an object schema, including its properties and associations."
}
object ObjectSchemaEgg
{
  "type": "object",
  "example": {
    "name": "my_object",
    "labels": {
      "plural": "My objects",
      "singular": "My object"
    },
    "metaType": "PORTAL_SPECIFIC",
    "properties": [
      {
        "name": "my_object_property",
        "label": "My object property",
        "isPrimaryDisplayLabel": true
      }
    ],
    "associatedObjects": [
      "CONTACT"
    ],
    "requiredProperties": [
      "my_object_property"
    ],
    "primaryDisplayProperty": "my_object_property"
  },
  "required": [
    "associatedObjects",
    "labels",
    "name",
    "properties",
    "requiredProperties"
  ],
  "properties": {
    "name": {
      "type": "string",
      "example": "my_object",
      "description": "A unique name for this object. For internal use only."
    },
    "labels": {
      "$ref": "#/components/schemas/ObjectTypeDefinitionLabels"
    },
    "properties": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ObjectTypePropertyCreate"
      },
      "example": [
        {
          "name": "my_object_property",
          "label": "My object property",
          "isPrimaryDisplayLabel": true
        }
      ],
      "description": "Properties defined for this object type."
    },
    "description": {
      "type": "string"
    },
    "associatedObjects": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "CONTACT"
      ],
      "description": "Associations defined for this object type."
    },
    "requiredProperties": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "my_object_property"
      ],
      "description": "The names of properties that should be **required** when creating an object of this type."
    },
    "searchableProperties": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Names of properties that will be indexed for this object type in by HubSpot's product search."
    },
    "primaryDisplayProperty": {
      "type": "string",
      "example": "my_object_property",
      "description": "The name of the primary property for this object. This will be displayed as primary on the HubSpot record page for this object type."
    },
    "secondaryDisplayProperties": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The names of secondary properties for this object. These will be displayed as secondary on the HubSpot record page for this object type."
    }
  },
  "description": "Defines a new object type, its properties, and associations."
}
object ObjectTypeDefinition
{
  "type": "object",
  "example": {
    "id": "123456",
    "name": "my_object",
    "labels": {
      "plural": "My objects",
      "singular": "My object"
    },
    "metaType": "PORTAL_SPECIFIC",
    "portalId": 12345678,
    "createdAt": "2020-02-20T18:07:11.390Z",
    "updatedAt": "2020-02-21T14:13:28.818002Z",
    "requiredProperties": [
      "my_object_property"
    ],
    "searchableProperties": [
      "my_object_property"
    ],
    "primaryDisplayProperty": "my_object_property"
  },
  "required": [
    "id",
    "labels",
    "name",
    "requiredProperties"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "123456",
      "description": "A unique ID for this object type. Will be defined as {meta-type}-{unique ID}."
    },
    "name": {
      "type": "string",
      "example": "my_object",
      "description": "A unique name for this object. For internal use only."
    },
    "labels": {
      "$ref": "#/components/schemas/ObjectTypeDefinitionLabels"
    },
    "archived": {
      "type": "boolean"
    },
    "portalId": {
      "type": "integer",
      "format": "int32",
      "example": 12345678,
      "description": "The ID of the account that this object type is specific to."
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "When the object type was created."
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "When the object type was last updated."
    },
    "description": {
      "type": "string"
    },
    "objectTypeId": {
      "type": "string"
    },
    "fullyQualifiedName": {
      "type": "string"
    },
    "requiredProperties": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "my_object_property"
      ],
      "description": "The names of properties that should be **required** when creating an object of this type."
    },
    "searchableProperties": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "my_object_property"
      ],
      "description": "Names of properties that will be indexed for this object type in by HubSpot's product search."
    },
    "primaryDisplayProperty": {
      "type": "string",
      "example": "my_object_property",
      "description": "The name of the primary property for this object. This will be displayed as primary on the HubSpot record page for this object type."
    },
    "secondaryDisplayProperties": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The names of secondary properties for this object. These will be displayed as secondary on the HubSpot record page for this object type."
    }
  },
  "description": "Defines an object type."
}
object ObjectTypeDefinitionLabels
{
  "type": "object",
  "example": {
    "plural": "My objects",
    "singular": "My object"
  },
  "properties": {
    "plural": {
      "type": "string",
      "example": "My objects",
      "description": "The word for multiple objects. (There’s no way to change this later.)"
    },
    "singular": {
      "type": "string",
      "example": "My object",
      "description": "The word for one object. (There’s no way to change this later.)"
    }
  },
  "description": "Singular and plural labels for the object. Used in CRM display."
}
object ObjectTypeDefinitionPatch
{
  "type": "object",
  "example": {
    "requiredProperties": [
      "my_object_property"
    ],
    "searchableProperties": [
      "my_object_property"
    ],
    "primaryDisplayProperty": "my_object_property"
  },
  "properties": {
    "labels": {
      "$ref": "#/components/schemas/ObjectTypeDefinitionLabels"
    },
    "restorable": {
      "type": "boolean"
    },
    "description": {
      "type": "string"
    },
    "requiredProperties": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "my_object_property"
      ],
      "description": "The names of properties that should be **required** when creating an object of this type."
    },
    "searchableProperties": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "my_object_property"
      ],
      "description": "Names of properties that will be indexed for this object type in by HubSpot's product search."
    },
    "primaryDisplayProperty": {
      "type": "string",
      "example": "my_object_property",
      "description": "The name of the primary property for this object. This will be displayed as primary on the HubSpot record page for this object type."
    },
    "secondaryDisplayProperties": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The names of secondary properties for this object. These will be displayed as secondary on the HubSpot record page for this object type."
    }
  },
  "description": "Defines attributes to update on an object type."
}
object 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."
}
object 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"
}
object 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"
}
object Paging
{
  "type": "object",
  "properties": {
    "next": {
      "$ref": "#/components/schemas/NextPage"
    },
    "prev": {
      "$ref": "#/components/schemas/PreviousPage"
    }
  }
}
object 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."
}
object 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."
}
object 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."
}
object 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."
}
object 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."
}
object 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."
}
object PreviousPage
{
  "type": "object",
  "required": [
    "before"
  ],
  "properties": {
    "link": {
      "type": "string"
    },
    "before": {
      "type": "string"
    }
  }
}
object 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"
}
object 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."
    }
  }
}
object 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"
}
object 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."
    }
  }
}
object 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."
    }
  }
}
object PropertyModificationMetadata
{
  "type": "object",
  "required": [
    "archivable",
    "readOnlyDefinition",
    "readOnlyValue"
  ],
  "properties": {
    "archivable": {
      "type": "boolean",
      "description": ""
    },
    "readOnlyValue": {
      "type": "boolean",
      "description": ""
    },
    "readOnlyOptions": {
      "type": "boolean",
      "description": ""
    },
    "readOnlyDefinition": {
      "type": "boolean",
      "description": ""
    }
  }
}
object 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."
    }
  }
}
object 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."
    }
  }
}
object PublicAssociationsForObject
{
  "type": "object",
  "required": [
    "to",
    "types"
  ],
  "properties": {
    "to": {
      "$ref": "#/components/schemas/PublicObjectId"
    },
    "types": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AssociationSpec"
      }
    }
  }
}
object 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"
    }
  }
}
object PublicGdprDeleteInput
{
  "type": "object",
  "required": [
    "objectId"
  ],
  "properties": {
    "objectId": {
      "type": "string"
    },
    "idProperty": {
      "type": "string"
    }
  }
}
object 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"
    }
  }
}
object 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"
}
object 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."
}
object PublicMergeInput
{
  "type": "object",
  "required": [
    "objectIdToMerge",
    "primaryObjectId"
  ],
  "properties": {
    "objectIdToMerge": {
      "type": "string"
    },
    "primaryObjectId": {
      "type": "string"
    }
  }
}
object PublicObjectId
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string"
    }
  }
}
object 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."
}
object 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"
      }
    }
  }
}
object 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"
    }
  }
}
object PublicTeam
{
  "type": "object",
  "required": [
    "id",
    "name",
    "primary"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "primary": {
      "type": "boolean"
    }
  }
}
object RecordingSettingsPatchRequest
{
  "type": "object",
  "properties": {
    "urlToRetrieveAuthedRecording": {
      "type": "string"
    }
  }
}
object RecordingSettingsRequest
{
  "type": "object",
  "required": [
    "urlToRetrieveAuthedRecording"
  ],
  "properties": {
    "urlToRetrieveAuthedRecording": {
      "type": "string"
    }
  }
}
object RecordingSettingsResponse
{
  "type": "object",
  "required": [
    "urlToRetrieveAuthedRecording"
  ],
  "properties": {
    "urlToRetrieveAuthedRecording": {
      "type": "string"
    }
  }
}
object 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"
}
object 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"
}
object 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"
}
object 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"
        }
      }
    }
  }
}
object 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"
      }
    }
  }
}
object SimplePublicObjectId
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string"
    }
  }
}
object 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"
      }
    }
  }
}
object 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"
      }
    }
  }
}
object 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"
        }
      }
    }
  }
}
object 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": {}
    }
  }
}
object 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."
}
object 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."
    }
  }
}
object 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."
}
object 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."
}
object 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."
}
object 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."
}
object TimelineEventTemplateTokenOption
{
  "type": "object",
  "required": [
    "label",
    "value"
  ],
  "properties": {
    "label": {
      "type": "string"
    },
    "value": {
      "type": "string"
    }
  }
}
object TimelineEventTemplateTokenUpdateRequest
{
  "type": "object",
  "example": {
    "label": "petType edit",
    "options": [
      {
        "label": "Dog",
        "value": "dog"
      },
      {
        "label": "Cat",
        "value": "cat"
      },
      {
        "label": "Bird",
        "value": "bird"
      }
    ]
  },
  "required": [
    "label"
  ],
  "properties": {
    "label": {
      "type": "string",
      "example": "petType edit",
      "description": "Used for list segmentation and reporting."
    },
    "options": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TimelineEventTemplateTokenOption"
      },
      "example": [
        {
          "label": "Dog",
          "value": "dog"
        },
        {
          "label": "Cat",
          "value": "cat"
        },
        {
          "label": "Bird",
          "value": "bird"
        }
      ],
      "description": "If type is `enumeration`, we should have a list of options to choose from."
    },
    "objectPropertyName": {
      "type": "string",
      "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 for update requests."
}
object TimelineEventTemplateUpdateRequest
{
  "type": "object",
  "example": {
    "id": "1001298X",
    "name": "PetSpot Registration",
    "tokens": [
      {
        "name": "petName",
        "type": "string",
        "label": "Pet Name",
        "objectPropertyName": "firstname"
      },
      {
        "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": "Yellow",
            "value": "yellow"
          },
          {
            "label": "Other",
            "value": "other"
          }
        ]
      }
    ],
    "detailTemplate": "Registration occurred at {{#formatDate timestamp}}{{/formatDate}}\n\n#### Questions\n{{#each extraData.questions}}\n  **{{question}}**: {{answer}}\n{{/each}}\n\nEDIT",
    "headerTemplate": "Registered for [{{petName}}](https://my.petspot.com/pets/{{petName}})"
  },
  "required": [
    "id",
    "name",
    "tokens"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "1001298",
      "description": "The template ID."
    },
    "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",
          "objectPropertyName": "firstname"
        },
        {
          "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": "Yellow",
              "value": "yellow"
            },
            {
              "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."
    },
    "detailTemplate": {
      "type": "string",
      "example": "Registration occurred at {{#formatDate timestamp}}{{/formatDate}}\n\n#### Questions\n{{#each extraData.questions}}\n  **{{question}}**: {{answer}}\n{{/each}}\n\nEDIT",
      "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 updated."
}
object ValueWithTimestamp
{
  "type": "object",
  "required": [
    "sourceType",
    "timestamp",
    "value"
  ],
  "properties": {
    "value": {
      "type": "string"
    },
    "sourceId": {
      "type": "string"
    },
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "sourceType": {
      "type": "string"
    },
    "sourceLabel": {
      "type": "string"
    },
    "updatedByUserId": {
      "type": "integer",
      "format": "int32"
    }
  }
}