> ## Documentation Index
> Fetch the complete documentation index at: https://developers.hubspot.fr/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create an event definition

> Create a custom event definition.

export const ScopesList = ({scopes = [], description = "Cette API requiert l'une des portées suivantes :"}) => {
  if (!scopes || scopes.length === 0) {
    return null;
  }
  const sortedScopes = scopes.sort((a, b) => a.localeCompare(b));
  return <div>
      <div className="text-sm mb-2">{description}</div>
      <div>
        {sortedScopes.map((scope, index) => <div key={index}>
            <code>
              <span className="text-xs">{scope}</span>
            </code>
          </div>)}
      </div>
    </div>;
};

export const SupportedProducts = ({marketing, sales, service, cms, marketingLevel, salesLevel, serviceLevel, cmsLevel}) => {
  const translations = {
    header: "Produits pris en charge",
    description: "Exige l'un des produits suivants ou un produit supérieur.",
    productNames: {
      marketing: "Marketing Hub",
      sales: "Sales Hub",
      service: "Service Hub",
      cms: "Content Hub"
    },
    tiers: {
      free: "Gratuit",
      starter: "Starter",
      professional: "Pro",
      enterprise: "Entreprise"
    }
  };
  const translateTier = tier => {
    if (!tier) return '';
    const lowerTier = tier.toLowerCase();
    return translations.tiers[lowerTier] || tier;
  };
  const products = [{
    name: marketing ? translations.productNames.marketing : '',
    level: translateTier(marketingLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/marketing-bolt.svg",
    alt: "Marketing Hub"
  }, {
    name: sales ? translations.productNames.sales : '',
    level: translateTier(salesLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/sales-star.svg",
    alt: "Sales Hub"
  }, {
    name: service ? translations.productNames.service : '',
    level: translateTier(serviceLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/service-heart.svg",
    alt: "Service Hub"
  }, {
    name: cms ? translations.productNames.cms : '',
    level: translateTier(cmsLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/content-play.svg",
    alt: "Content Hub"
  }].filter(product => product.name && product.level);
  if (products.length === 0) return null;
  return <div>
      <div className="text-sm mb-2">{translations.description}</div>
      <div className={`grid ${products.length === 1 ? 'grid-cols-1' : 'grid-cols-2'} gap-1.5`}>
        {products.map((product, index) => <div key={index} style={{
    display: 'flex',
    alignItems: 'center'
  }}>
            <img src={product.icon} alt={product.alt} className="w-3.5 h-3.5 mr-1.5 mt-2.5 mb-2.5 flex-shrink-0 align-middle" />
            <span className="font-medium mr-1 text-sm">{product.name} -</span>
            <span className="text-sm">{product.level}</span>
          </div>)}
      </div>
    </div>;
};

<AccordionGroup>
  <Accordion title="Supported products" defaultOpen="true" icon="cubes">
    <SupportedProducts marketing={true} sales={true} service={true} cms={true} marketingLevel="ENTERPRISE" salesLevel="ENTERPRISE" serviceLevel="ENTERPRISE" cmsLevel="ENTERPRISE" />
  </Accordion>

  <Accordion title="Required Scopes" icon="key">
    <ScopesList
      scopes={[
  'behavioral_events.event_definitions.read_write'
]}
    />
  </Accordion>
</AccordionGroup>


## OpenAPI

````yaml specs/2026-03/events-manage-event-definitions-v2026-03.json POST /events/2026-03/event-definitions
openapi: 3.0.1
info:
  title: Events Manage Event Definitions
  description: Basepom for all HubSpot Projects
  version: 2026-03
  x-hubspot-product-tier-requirements:
    marketing: ENTERPRISE
    sales: ENTERPRISE
    service: ENTERPRISE
    cms: ENTERPRISE
    commerce: ENTERPRISE
    crmHub: ENTERPRISE
    dataHub: ENTERPRISE
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Advanced
  - name: Basic
  - name: Batch
paths:
  /events/2026-03/event-definitions:
    post:
      tags:
        - Basic
      summary: Create custom event definition
      description: Create a custom event definition.
      operationId: post-/events/2026-03/event-definitions
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalBehavioralEventTypeDefinitionEgg'
        required: true
      responses:
        '201':
          description: successful operation
          headers:
            Location:
              description: URL of the newly created resource
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalBehavioralEventTypeDefinition'
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security:
        - oauth2:
            - behavioral_events.event_definitions.read_write
components:
  schemas:
    ExternalBehavioralEventTypeDefinitionEgg:
      required:
        - includeDefaultProperties
        - label
        - propertyDefinitions
      type: object
      properties:
        customMatchingId:
          $ref: '#/components/schemas/ExternalObjectResolutionMappingRequest'
        description:
          type: string
          description: >-
            A description of the event that will be shown as help text in
            HubSpot.
        includeDefaultProperties:
          type: boolean
        label:
          type: string
          description: Human readable label for the event. Used in HubSpot UI
        name:
          type: string
          description: >-
            Internal event name, which must be used when referencing the event
            from this event definitions API. If a name is not supplied, one will
            be generated based on the label. The `name` value will also be used
            to automatically generate a `fullyQualifiedName` for the event
            definition, which you'll use when sending event completions to this
            event. 
        primaryObject:
          type: string
          description: >-
            The object type to associate this event to. Can be one of CONTACT,
            COMPANY, DEAL, TICKET. If no primaryObject is supplied, we will
            default to associating the event to CONTACT objects.
        propertyDefinitions:
          type: array
          description: List of custom properties on event
          items:
            $ref: '#/components/schemas/ExternalBehavioralEventPropertyCreate'
    ExternalBehavioralEventTypeDefinition:
      required:
        - archived
        - associations
        - fullyQualifiedName
        - id
        - labels
        - name
        - objectTypeId
        - properties
      type: object
      properties:
        archived:
          type: boolean
        associations:
          type: array
          items:
            $ref: '#/components/schemas/AssociationDefinition'
        comboEventRules:
          $ref: '#/components/schemas/ComboEventRuleBranch'
        createdAt:
          type: string
          format: date-time
        createdUserId:
          type: integer
          format: int32
        customMatchingId:
          $ref: '#/components/schemas/ExternalObjectResolutionMappingResponse'
        description:
          type: string
        detailTemplate:
          type: string
        fullyQualifiedName:
          type: string
        headerTemplate:
          type: string
        id:
          type: string
        labels:
          $ref: '#/components/schemas/BehavioralEventTypeDefinitionLabels'
        name:
          type: string
        objectTypeId:
          type: string
        primaryObject:
          type: string
        primaryObjectId:
          type: string
        properties:
          type: array
          items:
            $ref: '#/components/schemas/Property'
        trackingType:
          type: string
          enum:
            - APP_EVENT
            - AUTOCAPTURE_EVENT
            - CLICKED_ELEMENT
            - COMBO_EVENT
            - CUSTOM_SCRIPT
            - CUSTOM_SIGNAL
            - IMPORT
            - MANUAL
            - PROPERTY_CHANGE
            - VISITED_URL
            - WEBHOOK
        updatedAt:
          type: string
          format: date-time
        updatedUserId:
          type: integer
          format: int32
    ExternalObjectResolutionMappingRequest:
      required:
        - primaryObjectRule
      type: object
      properties:
        primaryObjectRule:
          $ref: '#/components/schemas/ExternalPrimaryObjectResolutionRule'
    ExternalBehavioralEventPropertyCreate:
      required:
        - label
        - type
      type: object
      properties:
        description:
          type: string
          description: >-
            A description of the property that will be shown as help text in
            HubSpot.
        label:
          type: string
          description: Human readable label for the property. Used in HubSpot UI
        name:
          type: string
          description: >-
            Internal property name, which must be used when referencing the
            property from the API
        options:
          type: array
          description: >-
            A list of available options for the property if it is an
            enumeration. NOTE: This field is only applicable for enumerated
            properties.
          items:
            $ref: '#/components/schemas/OptionInput'
        type:
          type: string
          description: >-
            The data type of the property. Can be one of the following: [string,
            number, enumeration, datetime]
    AssociationDefinition:
      required:
        - allowsCustomLabels
        - cardinality
        - category
        - fromObjectTypeId
        - hasAllAssociatedObjects
        - hasCascadingDeletes
        - hasUserEnforcedMaxFromObjectIds
        - hasUserEnforcedMaxToObjectIds
        - hidden
        - id
        - inverseAllowsCustomLabels
        - inverseCardinality
        - inverseHasAllAssociatedObjects
        - inverseId
        - inverseName
        - isDefault
        - isInversePrimary
        - isPrimary
        - maxFromObjectIds
        - maxToObjectIds
        - name
        - portalUniqueIdentifier
        - readOnly
        - toObjectTypeId
      type: object
      properties:
        allowsCustomLabels:
          type: boolean
          description: Whether custom labels can be used in the association.
        cardinality:
          type: string
          description: >-
            The cardinality from the source object's perspective, either
            "ONE_TO_ONE" or "ONE_TO_MANY".
          enum:
            - ONE_TO_MANY
            - ONE_TO_ONE
        category:
          type: string
          description: The error category
          enum:
            - HUBSPOT_DEFINED
            - INTEGRATOR_DEFINED
            - USER_DEFINED
            - WORK
        fromObjectType:
          type: string
          description: The name of the source object type (e.g,. "DEAL" or "QUOTE").
          enum:
            - ABANDONED_CART
            - ACCEPTANCE_TEST
            - AD
            - AD_ACCOUNT
            - AD_CAMPAIGN
            - AD_GROUP
            - AI_FORECAST
            - ALL_PAGES
            - APPROVAL
            - APPROVAL_STEP
            - ATTRIBUTION
            - AUDIENCE
            - AUTOMATION_JOURNEY
            - AUTOMATION_PLATFORM_FLOW
            - AUTOMATION_PLATFORM_FLOW_ACTION
            - BET_ALERT
            - BET_DELIVERABLE_SERVICE
            - BLOG_LISTING_PAGE
            - BLOG_POST
            - CALL
            - CAMPAIGN
            - CAMPAIGN_BUDGET_ITEM
            - CAMPAIGN_SPEND_ITEM
            - CAMPAIGN_STEP
            - CAMPAIGN_TEMPLATE
            - CAMPAIGN_TEMPLATE_STEP
            - CART
            - CASE_STUDY
            - CHATFLOW
            - CLIP
            - CMS_URL
            - COMBO_EVENT_CONFIGURATION
            - COMMERCE_PAYMENT
            - COMMUNICATION
            - COMPANY
            - CONTACT
            - CONTACT_CREATE_ATTRIBUTION
            - CONTENT
            - CONTENT_AUDIT
            - CONTENT_AUDIT_PAGE
            - CONVERSATION
            - CONVERSATION_INBOX
            - CONVERSATION_SESSION
            - CRM_OBJECTS_DUMMY_TYPE
            - CRM_PIPELINES_DUMMY_TYPE
            - CTA
            - CTA_VARIANT
            - DATA_PRIVACY_CONSENT
            - DATA_SYNC_STATE
            - DEAL
            - DEAL_CREATE_ATTRIBUTION
            - DEAL_REGISTRATION
            - DEAL_SPLIT
            - DISCOUNT
            - DISCOUNT_CODE
            - DISCOUNT_TEMPLATE
            - EMAIL
            - ENGAGEMENT
            - EXPORT
            - EXTERNAL_WEB_URL
            - FEE
            - FEEDBACK_SUBMISSION
            - FEEDBACK_SURVEY
            - FILE_MANAGER_FILE
            - FILE_MANAGER_FOLDER
            - FOLDER
            - FORECAST
            - FORM
            - FORM_SUBMISSION_INBOUNDDB
            - GOAL_TARGET
            - GOAL_TARGET_GROUP
            - GOAL_TEMPLATE
            - GSC_PROPERTY
            - HUB
            - IMPORT
            - INVOICE
            - KEYWORD
            - KNOWLEDGE_ARTICLE
            - LANDING_PAGE
            - LEAD
            - LINE_ITEM
            - MARKETING_CALENDAR
            - MARKETING_CAMPAIGN_UTM
            - MARKETING_EMAIL
            - MARKETING_EVENT
            - MARKETING_EVENT_ATTENDANCE
            - MARKETING_SMS
            - MEDIA_BRIDGE
            - MEETING_EVENT
            - MIC
            - NOTE
            - OBJECT_LIST
            - ORDER
            - OWNER
            - PARTNER_ACCOUNT
            - PARTNER_CLIENT
            - PARTNER_CLIENT_REVENUE
            - PARTNER_SERVICE
            - PAYMENT_LINK
            - PAYMENT_SCHEDULE
            - PAYMENT_SCHEDULE_INSTALLMENT
            - PERMISSIONS_TESTING
            - PLAYBOOK
            - PLAYBOOK_QUESTION
            - PLAYBOOK_SUBMISSION
            - PLAYBOOK_SUBMISSION_ANSWER
            - PLAYLIST
            - PLAYLIST_FOLDER
            - PODCAST_EPISODE
            - PORTAL
            - PORTAL_OBJECT_SYNC_MESSAGE
            - POSTAL_MAIL
            - PRIVACY_SCANNER_COOKIE
            - PRODUCT
            - PRODUCT_OR_FOLDER
            - PROPERTY_INFO
            - PROSPECTING_AGENT_CONTACT_ASSIGNMENT
            - PUBLISHING_TASK
            - QUARANTINED_SUBMISSION
            - QUOTA
            - QUOTE
            - QUOTE_FIELD
            - QUOTE_MODULE
            - QUOTE_MODULE_FIELD
            - QUOTE_TEMPLATE
            - RESTORABLE_CRM_OBJECT
            - ROSTER
            - ROSTER_MEMBER
            - SALES_DOCUMENT
            - SALES_TASK
            - SALES_WORKLOAD
            - SALESFORCE_SYNC_ERROR
            - SCHEDULING_PAGE
            - SCHEMAS_BACKEND_TEST
            - SCORE_CONFIGURATION
            - SEQUENCE
            - SEQUENCE_ENROLLMENT
            - SEQUENCE_STEP
            - SEQUENCE_STEP_ENROLLMENT
            - SERVICE
            - SITE_PAGE
            - SNIPPET
            - SOCIAL_BROADCAST
            - SOCIAL_CHANNEL
            - SOCIAL_POST
            - SOCIAL_PROFILE
            - SOX_PROTECTED_DUMMY_TYPE
            - SOX_PROTECTED_TEST_TYPE
            - SUBMISSION_TAG
            - SUBSCRIPTION
            - TASK
            - TASK_TEMPLATE
            - TAX
            - TEMPLATE
            - TICKET
            - UNKNOWN
            - UNSUBSCRIBE
            - USER
            - VIEW
            - VIEW_BLOCK
            - WEB_INTERACTIVE
        fromObjectTypeId:
          type: string
          description: The ID of the source object type (e.g., 0-1 for contacts).
        hasAllAssociatedObjects:
          type: boolean
          description: Whether all potential linked objects are included in the association
        hasCascadingDeletes:
          type: boolean
          description: >-
            Whether deletions in the association should cause cascading deletes
            to linked objects.
        hasUserEnforcedMaxFromObjectIds:
          type: boolean
          description: Whether a user has set a limit for the number of source objects.
        hasUserEnforcedMaxToObjectIds:
          type: boolean
          description: >-
            Whether a user has set a limit for the number of destination
            objects.
        hidden:
          type: boolean
          description: Whether the association is hidden or not.
        hiddenReason:
          type: string
          enum:
            - DEFAULT
            - INTERNAL
            - USER_CONFIGURED
        id:
          type: integer
          description: The unique ID of the associated object (e.g., a contact ID).
          format: int32
        inverseAllowsCustomLabels:
          type: boolean
          description: Whether the reverse association can also support custom labels.
        inverseCardinality:
          type: string
          description: >-
            The cardinality from the destination object's perspective, either
            "ONE_TO_ONE" or "ONE_TO_MANY".
          enum:
            - ONE_TO_MANY
            - ONE_TO_ONE
        inverseHasAllAssociatedObjects:
          type: boolean
          description: >-
            Whether all potential reverse linked objects are included in the
            association.
        inverseId:
          type: integer
          description: The unique ID for the inverse side of the association.
          format: int32
        inverseLabel:
          type: string
          description: >-
            The label used to describe the reverse relationship in an
            association.
        inverseName:
          type: string
          description: >-
            The name used to describe the inverse relationship in this
            association
        isDefault:
          type: boolean
        isInversePrimary:
          type: boolean
          description: Whether the inverse association is considered primary.
        isPrimary:
          type: boolean
          description: >-
            Whether the association is the primary link between the entities
            involved.
        label:
          type: string
          description: The label given to an association.
        maxFromObjectIds:
          type: integer
          description: The maximum number of source object IDs allowed in the association.
          format: int32
        maxToObjectIds:
          type: integer
          description: >-
            The maximum number of destination object IDs allowed in the
            association.
          format: int32
        name:
          type: string
          description: For labeled association types, the internal name of the association.
        portalUniqueIdentifier:
          type: string
          description: A unique across-portal ID applied to the association.
        readOnly:
          type: boolean
        toObjectType:
          type: string
          description: The name of the destination object type (e.g,. "DEAL" or "QUOTE").
          enum:
            - ABANDONED_CART
            - ACCEPTANCE_TEST
            - AD
            - AD_ACCOUNT
            - AD_CAMPAIGN
            - AD_GROUP
            - AI_FORECAST
            - ALL_PAGES
            - APPROVAL
            - APPROVAL_STEP
            - ATTRIBUTION
            - AUDIENCE
            - AUTOMATION_JOURNEY
            - AUTOMATION_PLATFORM_FLOW
            - AUTOMATION_PLATFORM_FLOW_ACTION
            - BET_ALERT
            - BET_DELIVERABLE_SERVICE
            - BLOG_LISTING_PAGE
            - BLOG_POST
            - CALL
            - CAMPAIGN
            - CAMPAIGN_BUDGET_ITEM
            - CAMPAIGN_SPEND_ITEM
            - CAMPAIGN_STEP
            - CAMPAIGN_TEMPLATE
            - CAMPAIGN_TEMPLATE_STEP
            - CART
            - CASE_STUDY
            - CHATFLOW
            - CLIP
            - CMS_URL
            - COMBO_EVENT_CONFIGURATION
            - COMMERCE_PAYMENT
            - COMMUNICATION
            - COMPANY
            - CONTACT
            - CONTACT_CREATE_ATTRIBUTION
            - CONTENT
            - CONTENT_AUDIT
            - CONTENT_AUDIT_PAGE
            - CONVERSATION
            - CONVERSATION_INBOX
            - CONVERSATION_SESSION
            - CRM_OBJECTS_DUMMY_TYPE
            - CRM_PIPELINES_DUMMY_TYPE
            - CTA
            - CTA_VARIANT
            - DATA_PRIVACY_CONSENT
            - DATA_SYNC_STATE
            - DEAL
            - DEAL_CREATE_ATTRIBUTION
            - DEAL_REGISTRATION
            - DEAL_SPLIT
            - DISCOUNT
            - DISCOUNT_CODE
            - DISCOUNT_TEMPLATE
            - EMAIL
            - ENGAGEMENT
            - EXPORT
            - EXTERNAL_WEB_URL
            - FEE
            - FEEDBACK_SUBMISSION
            - FEEDBACK_SURVEY
            - FILE_MANAGER_FILE
            - FILE_MANAGER_FOLDER
            - FOLDER
            - FORECAST
            - FORM
            - FORM_SUBMISSION_INBOUNDDB
            - GOAL_TARGET
            - GOAL_TARGET_GROUP
            - GOAL_TEMPLATE
            - GSC_PROPERTY
            - HUB
            - IMPORT
            - INVOICE
            - KEYWORD
            - KNOWLEDGE_ARTICLE
            - LANDING_PAGE
            - LEAD
            - LINE_ITEM
            - MARKETING_CALENDAR
            - MARKETING_CAMPAIGN_UTM
            - MARKETING_EMAIL
            - MARKETING_EVENT
            - MARKETING_EVENT_ATTENDANCE
            - MARKETING_SMS
            - MEDIA_BRIDGE
            - MEETING_EVENT
            - MIC
            - NOTE
            - OBJECT_LIST
            - ORDER
            - OWNER
            - PARTNER_ACCOUNT
            - PARTNER_CLIENT
            - PARTNER_CLIENT_REVENUE
            - PARTNER_SERVICE
            - PAYMENT_LINK
            - PAYMENT_SCHEDULE
            - PAYMENT_SCHEDULE_INSTALLMENT
            - PERMISSIONS_TESTING
            - PLAYBOOK
            - PLAYBOOK_QUESTION
            - PLAYBOOK_SUBMISSION
            - PLAYBOOK_SUBMISSION_ANSWER
            - PLAYLIST
            - PLAYLIST_FOLDER
            - PODCAST_EPISODE
            - PORTAL
            - PORTAL_OBJECT_SYNC_MESSAGE
            - POSTAL_MAIL
            - PRIVACY_SCANNER_COOKIE
            - PRODUCT
            - PRODUCT_OR_FOLDER
            - PROPERTY_INFO
            - PROSPECTING_AGENT_CONTACT_ASSIGNMENT
            - PUBLISHING_TASK
            - QUARANTINED_SUBMISSION
            - QUOTA
            - QUOTE
            - QUOTE_FIELD
            - QUOTE_MODULE
            - QUOTE_MODULE_FIELD
            - QUOTE_TEMPLATE
            - RESTORABLE_CRM_OBJECT
            - ROSTER
            - ROSTER_MEMBER
            - SALES_DOCUMENT
            - SALES_TASK
            - SALES_WORKLOAD
            - SALESFORCE_SYNC_ERROR
            - SCHEDULING_PAGE
            - SCHEMAS_BACKEND_TEST
            - SCORE_CONFIGURATION
            - SEQUENCE
            - SEQUENCE_ENROLLMENT
            - SEQUENCE_STEP
            - SEQUENCE_STEP_ENROLLMENT
            - SERVICE
            - SITE_PAGE
            - SNIPPET
            - SOCIAL_BROADCAST
            - SOCIAL_CHANNEL
            - SOCIAL_POST
            - SOCIAL_PROFILE
            - SOX_PROTECTED_DUMMY_TYPE
            - SOX_PROTECTED_TEST_TYPE
            - SUBMISSION_TAG
            - SUBSCRIPTION
            - TASK
            - TASK_TEMPLATE
            - TAX
            - TEMPLATE
            - TICKET
            - UNKNOWN
            - UNSUBSCRIBE
            - USER
            - VIEW
            - VIEW_BLOCK
            - WEB_INTERACTIVE
        toObjectTypeId:
          type: string
          description: The ID of the destination object type (e.g., 0-3 for deals).
      description: The definition of an association
    ComboEventRuleBranch:
      required:
        - composingRules
        - operationType
        - ruleBranches
      type: object
      properties:
        composingRules:
          type: array
          items:
            $ref: '#/components/schemas/ComboEventRule'
        operationType:
          type: string
          enum:
            - AND
            - OR
        ruleBranches:
          type: array
          items:
            $ref: '#/components/schemas/ComboEventRuleBranch'
    ExternalObjectResolutionMappingResponse:
      required:
        - primaryObjectRule
      type: object
      properties:
        primaryObjectRule:
          $ref: '#/components/schemas/ExternalPrimaryObjectResolutionRule'
    BehavioralEventTypeDefinitionLabels:
      required:
        - singular
      type: object
      properties:
        plural:
          type: string
        singular:
          type: string
    Property:
      required:
        - description
        - fieldType
        - groupName
        - label
        - name
        - options
        - type
      type: object
      properties:
        archived:
          type: boolean
          description: Whether the property is archived.
        archivedAt:
          type: string
          description: The timestamp when the property was archived, in ISO 8601 format.
          format: date-time
        calculated:
          type: boolean
          description: Whether the property is a calculated field.
        calculationFormula:
          type: string
          description: The formula used for calculated properties.
        createdAt:
          type: string
          description: The timestamp when the property was created, in ISO 8601 format.
          format: date-time
        createdUserId:
          type: string
          description: The ID of the user who created the property.
        currencyPropertyName:
          type: string
          description: The name of the related currency property.
        dataSensitivity:
          type: string
          description: >-
            Indicates the sensitivity level of the property, such as
            "non_sensitive", "sensitive", or "highly_sensitive".
          enum:
            - highly_sensitive
            - non_sensitive
            - sensitive
        dateDisplayHint:
          type: string
          enum:
            - absolute
            - absolute_with_relative
            - time_since
            - time_until
        description:
          type: string
          description: A summary of the property's purpose.
        displayOrder:
          type: integer
          description: The position of the item relative to others in the list.
          format: int32
        externalOptions:
          type: boolean
          description: >-
            Applicable only for enumeration type properties. Should be set to
            true with a 'referencedObjectType' of 'OWNER'. Otherwise false.
        fieldType:
          type: string
          description: >-
            Determines how the property will appear in HubSpot's UI or on a
            form. Learn more in the properties API guide.
        formField:
          type: boolean
          description: Whether the property can appear on forms.
        groupName:
          type: string
          description: The name of the group to which the property is assigned.
        hasUniqueValue:
          type: boolean
          description: Whether the property is a unique identifier property.
        hidden:
          type: boolean
          description: >-
            Whether or not the property will be hidden from the HubSpot UI. It's
            recommended that this be set to false for custom properties.
          example: false
        hubspotDefined:
          type: boolean
          description: A boolean value set to true for HubSpot default properties.
        label:
          type: string
          description: The display label for the property.
        modificationMetadata:
          $ref: '#/components/schemas/PropertyModificationMetadata'
        name:
          type: string
          description: The internal name for the property.
        numberDisplayHint:
          type: string
          description: >-
            Hint for how a number property is displayed and validated in
            HubSpot's UI. Can be: "unformatted", "formatted", "currency",
            "percentage", "duration", or "probability".
          enum:
            - currency
            - duration
            - formatted
            - percentage
            - probability
            - unformatted
        options:
          type: array
          description: >-
            A list of valid options for the property. This field is required for
            enumerated properties.
          items:
            $ref: '#/components/schemas/Option'
        referencedObjectType:
          type: string
          description: Deprecated. Use externalOptionsReferenceType instead.
        sensitiveDataCategories:
          type: array
          description: >-
            When sensitiveData is true, lists the type of sensitive data
            contained in the property (e.g., "HIPAA").
          items:
            type: string
        showCurrencySymbol:
          type: boolean
          description: Whether to show the currency symbol in HubSpot's UI.
        textDisplayHint:
          type: string
          description: >-
            Hint for how the text is displayed and validated in HubSpot's UI.
            Can be: "unformatted_single_line", "multi_line", "email",
            "phone_number", "domain_name", "ip_address", "physical_address", or
            "postal_code".
          enum:
            - domain_name
            - email
            - ip_address
            - multi_line
            - phone_number
            - physical_address
            - postal_code
            - unformatted_single_line
        type:
          type: string
          description: The data type of the property, such as string or number.
        updatedAt:
          type: string
          description: >-
            The timestamp when the property was last updated, in ISO 8601
            format.
          format: date-time
        updatedUserId:
          type: string
      description: A HubSpot property
    Error:
      required:
        - category
        - correlationId
        - message
      type: object
      properties:
        category:
          type: string
          description: The error category
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Context about the error condition
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: >-
            A unique identifier for the request. Include this value with any
            error reports or support tickets
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: further information about the error
          items:
            $ref: '#/components/schemas/ErrorDetail'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            A map of link names to associated URIs containing documentation
            about the error or recommended remediation steps
        message:
          type: string
          description: >-
            A human readable message describing the error along with remediation
            steps where appropriate
          example: An error occurred
        subCategory:
          type: string
          description: >-
            A specific category that contains more specific detail about the
            error
      example:
        message: Invalid input (details will vary based on the error)
        correlationId: aeb5f871-7f07-4993-9211-075dc63e7cbf
        category: VALIDATION_ERROR
        links:
          knowledge-base: https://www.hubspot.com/products/service/knowledge-base
    ExternalPrimaryObjectResolutionRule:
      required:
        - eventPropertyName
        - targetObjectPropertyName
      type: object
      properties:
        eventPropertyName:
          type: string
        targetObjectPropertyName:
          type: string
    OptionInput:
      required:
        - displayOrder
        - hidden
        - label
        - value
      type: object
      properties:
        description:
          type: string
        displayOrder:
          type: integer
          format: int32
        hidden:
          type: boolean
        label:
          type: string
        value:
          type: string
    ComboEventRule:
      required:
        - count
        - eventTypeId
        - propertyFilters
      type: object
      properties:
        count:
          type: integer
          format: int32
        eventTypeId:
          type: string
        lookbackWindowDays:
          type: integer
          format: int32
        propertyFilters:
          type: array
          items:
            $ref: '#/components/schemas/PropertyFilter'
    PropertyModificationMetadata:
      required:
        - archivable
        - readOnlyDefinition
        - readOnlyValue
      type: object
      properties:
        archivable:
          type: boolean
        readOnlyDefinition:
          type: boolean
        readOnlyOptions:
          type: boolean
        readOnlyValue:
          type: boolean
    Option:
      required:
        - hidden
        - label
        - value
      type: object
      properties:
        description:
          type: string
          description: A description of the option.
        displayOrder:
          type: integer
          description: The position of the item relative to others in the list.
          format: int32
        hidden:
          type: boolean
          description: Whether the option is displayed in HubSpot's UI.
        label:
          type: string
          description: A user-friendly label that identifies the option.
        value:
          type: string
          description: The actual value of the option.
      description: A HubSpot property option
    ErrorDetail:
      required:
        - message
      type: object
      properties:
        code:
          type: string
          description: The status code associated with the error detail
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Context about the error condition
          example: '{missingScopes=[scope1, scope2]}'
        in:
          type: string
          description: The name of the field or parameter in which the error was found.
        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
    PropertyFilter:
      title: PROPERTY
      required:
        - filterType
        - operation
        - property
      type: object
      properties:
        context:
          $ref: '#/components/schemas/PropertyFilterContext'
        filterInsightsId:
          type: integer
          format: int32
        filterType:
          type: string
          default: PROPERTY
          enum:
            - PROPERTY
        frameworkFilterId:
          type: integer
          format: int64
        operation:
          oneOf:
            - $ref: '#/components/schemas/BoolPropertyOperation'
            - $ref: '#/components/schemas/NumberPropertyOperation'
            - $ref: '#/components/schemas/StringPropertyOperation'
            - $ref: '#/components/schemas/DateTimePropertyOperation'
            - $ref: '#/components/schemas/RangedDatePropertyOperation'
            - $ref: '#/components/schemas/ComparativeDatePropertyOperation'
            - $ref: '#/components/schemas/ComparativeBoolPropertyOperation'
            - $ref: '#/components/schemas/ComparativeNumberPropertyOperation'
            - $ref: '#/components/schemas/ComparativeStringPropertyOperation'
            - $ref: '#/components/schemas/ComparativePropertyUpdatedOperation'
            - $ref: '#/components/schemas/RollingDateRangePropertyOperation'
            - $ref: '#/components/schemas/RollingPropertyUpdatedOperation'
            - $ref: '#/components/schemas/EnumerationPropertyOperation'
            - $ref: '#/components/schemas/AllPropertyTypesOperation'
            - $ref: '#/components/schemas/RangedNumberPropertyOperation'
            - $ref: '#/components/schemas/MultiStringPropertyOperation'
            - $ref: '#/components/schemas/DatePropertyOperation'
            - $ref: '#/components/schemas/CalendarDatePropertyOperation'
            - $ref: '#/components/schemas/TimePointOperation'
            - $ref: '#/components/schemas/RangedTimeOperation'
            - $ref: '#/components/schemas/RegexPropertyOperation'
        property:
          type: string
      x-hubspot-sub-type-impl: true
    PropertyFilterContext:
      required:
        - objectTypeId
      type: object
      properties:
        objectTypeId:
          type: string
    BoolPropertyOperation:
      title: bool
      required:
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - operatorName
        - propertyType
        - value
      type: object
      properties:
        defaultValue:
          type: string
        includeObjectsWithNoValueSet:
          type: boolean
        operationType:
          type: string
        operator:
          type: string
          enum:
            - HAS_EVER_BEEN_EQUAL_TO
            - HAS_NEVER_BEEN_EQUAL_TO
            - IS_EQUAL_TO
            - IS_NOT_EQUAL_TO
        operatorName:
          type: string
        propertyType:
          type: string
          default: bool
          enum:
            - bool
        renderSpec:
          type: string
        value:
          type: boolean
      x-hubspot-sub-type-impl: true
    NumberPropertyOperation:
      title: number
      required:
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - operatorName
        - propertyType
        - value
      type: object
      properties:
        defaultValue:
          type: string
        includeObjectsWithNoValueSet:
          type: boolean
        operationType:
          type: string
        operator:
          type: string
          enum:
            - HAS_EVER_BEEN_EQUAL_TO
            - HAS_NEVER_BEEN_EQUAL_TO
            - IS_EQUAL_TO
            - IS_GREATER_THAN
            - IS_GREATER_THAN_OR_EQUAL_TO
            - IS_LESS_THAN
            - IS_LESS_THAN_OR_EQUAL_TO
            - IS_NOT_EQUAL_TO
        operatorName:
          type: string
        propertyType:
          type: string
          default: number
          enum:
            - number
        renderSpec:
          type: string
        value:
          type: number
      x-hubspot-sub-type-impl: true
    StringPropertyOperation:
      title: string
      required:
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - operatorName
        - propertyType
        - value
      type: object
      properties:
        defaultValue:
          type: string
        includeObjectsWithNoValueSet:
          type: boolean
        operationType:
          type: string
        operator:
          type: string
          enum:
            - CONTAINS
            - DOES_NOT_CONTAIN
            - ENDS_WITH
            - HAS_EVER_BEEN_EQUAL_TO
            - HAS_EVER_CONTAINED
            - HAS_NEVER_BEEN_EQUAL_TO
            - HAS_NEVER_CONTAINED
            - IS_EQUAL_TO
            - IS_NOT_EQUAL_TO
            - STARTS_WITH
        operatorName:
          type: string
        propertyType:
          type: string
          default: string
          enum:
            - string
        renderSpec:
          type: string
        value:
          type: string
      x-hubspot-sub-type-impl: true
    DateTimePropertyOperation:
      title: datetime
      required:
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - operatorName
        - propertyType
        - requiresTimeZoneConversion
        - timestamp
      type: object
      properties:
        defaultValue:
          type: string
        includeObjectsWithNoValueSet:
          type: boolean
        operationType:
          type: string
        operator:
          type: string
          enum:
            - IS_AFTER
            - IS_AFTER_DATE
            - IS_BEFORE
            - IS_BEFORE_DATE
            - IS_EQUAL_TO
        operatorName:
          type: string
        propertyType:
          type: string
          default: datetime
          enum:
            - datetime
        renderSpec:
          type: string
        requiresTimeZoneConversion:
          type: boolean
        timestamp:
          type: integer
          format: int64
      x-hubspot-sub-type-impl: true
    RangedDatePropertyOperation:
      title: datetime-ranged
      required:
        - includeObjectsWithNoValueSet
        - lowerBoundTimestamp
        - operationType
        - operator
        - operatorName
        - propertyType
        - requiresTimeZoneConversion
        - upperBoundTimestamp
      type: object
      properties:
        defaultValue:
          type: string
        includeObjectsWithNoValueSet:
          type: boolean
        lowerBoundTimestamp:
          type: integer
          format: int64
        operationType:
          type: string
        operator:
          type: string
          enum:
            - IS_BETWEEN
            - IS_NOT_BETWEEN
        operatorName:
          type: string
        propertyType:
          type: string
          default: datetime-ranged
          enum:
            - datetime-ranged
        renderSpec:
          type: string
        requiresTimeZoneConversion:
          type: boolean
        upperBoundTimestamp:
          type: integer
          format: int64
      x-hubspot-sub-type-impl: true
    ComparativeDatePropertyOperation:
      title: datetime-comparative
      required:
        - comparisonPropertyName
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - operatorName
        - propertyType
      type: object
      properties:
        comparisonPropertyName:
          type: string
        defaultComparisonValue:
          type: string
        defaultValue:
          type: string
        includeObjectsWithNoValueSet:
          type: boolean
        operationType:
          type: string
        operator:
          type: string
          enum:
            - IS_AFTER
            - IS_BEFORE
        operatorName:
          type: string
        propertyType:
          type: string
          default: datetime-comparative
          enum:
            - datetime-comparative
        renderSpec:
          type: string
      x-hubspot-sub-type-impl: true
    ComparativeBoolPropertyOperation:
      title: bool-comparative
      required:
        - comparisonPropertyName
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - operatorName
        - propertyType
      type: object
      properties:
        comparisonPropertyName:
          type: string
        defaultValue:
          type: string
        includeObjectsWithNoValueSet:
          type: boolean
        operationType:
          type: string
        operator:
          type: string
          enum:
            - IS_EQUAL_TO
            - IS_NOT_EQUAL_TO
        operatorName:
          type: string
        propertyType:
          type: string
          default: bool-comparative
          enum:
            - bool-comparative
        renderSpec:
          type: string
      x-hubspot-sub-type-impl: true
    ComparativeNumberPropertyOperation:
      title: number-comparative
      required:
        - comparisonPropertyName
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - operatorName
        - propertyType
      type: object
      properties:
        comparisonPropertyName:
          type: string
        defaultValue:
          type: string
        includeObjectsWithNoValueSet:
          type: boolean
        operationType:
          type: string
        operator:
          type: string
          enum:
            - IS_EQUAL_TO
            - IS_GREATER_THAN
            - IS_GREATER_THAN_OR_EQUAL_TO
            - IS_LESS_THAN
            - IS_LESS_THAN_OR_EQUAL_TO
            - IS_NOT_EQUAL_TO
        operatorName:
          type: string
        propertyType:
          type: string
          default: number-comparative
          enum:
            - number-comparative
        renderSpec:
          type: string
      x-hubspot-sub-type-impl: true
    ComparativeStringPropertyOperation:
      title: string-comparative
      required:
        - comparisonPropertyName
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - operatorName
        - propertyType
      type: object
      properties:
        comparisonPropertyName:
          type: string
        defaultValue:
          type: string
        includeObjectsWithNoValueSet:
          type: boolean
        operationType:
          type: string
        operator:
          type: string
          enum:
            - CONTAINS
            - DOES_NOT_CONTAIN
            - ENDS_WITH
            - IS_EQUAL_TO
            - IS_NOT_EQUAL_TO
            - STARTS_WITH
        operatorName:
          type: string
        propertyType:
          type: string
          default: string-comparative
          enum:
            - string-comparative
        renderSpec:
          type: string
      x-hubspot-sub-type-impl: true
    ComparativePropertyUpdatedOperation:
      title: property-updated-comparative
      required:
        - comparisonPropertyName
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - operatorName
        - propertyType
      type: object
      properties:
        comparisonPropertyName:
          type: string
        defaultComparisonValue:
          type: string
        defaultValue:
          type: string
        includeObjectsWithNoValueSet:
          type: boolean
        operationType:
          type: string
        operator:
          type: string
          enum:
            - IS_AFTER
            - IS_BEFORE
        operatorName:
          type: string
        propertyType:
          type: string
          default: property-updated-comparative
          enum:
            - property-updated-comparative
        renderSpec:
          type: string
      x-hubspot-sub-type-impl: true
    RollingDateRangePropertyOperation:
      title: datetime-rolling
      required:
        - includeObjectsWithNoValueSet
        - numberOfDays
        - operationType
        - operator
        - operatorName
        - propertyType
        - requiresTimeZoneConversion
      type: object
      properties:
        defaultValue:
          type: string
        includeObjectsWithNoValueSet:
          type: boolean
        numberOfDays:
          type: integer
          format: int32
        operationType:
          type: string
        operator:
          type: string
          enum:
            - IS_LESS_THAN_X_DAYS_AGO
            - IS_LESS_THAN_X_DAYS_FROM_NOW
            - IS_MORE_THAN_X_DAYS_AGO
            - IS_MORE_THAN_X_DAYS_FROM_NOW
        operatorName:
          type: string
        propertyType:
          type: string
          default: datetime-rolling
          enum:
            - datetime-rolling
        renderSpec:
          type: string
        requiresTimeZoneConversion:
          type: boolean
      x-hubspot-sub-type-impl: true
    RollingPropertyUpdatedOperation:
      title: rolling-property-updated
      required:
        - includeObjectsWithNoValueSet
        - numberOfDays
        - operationType
        - operator
        - operatorName
        - propertyType
      type: object
      properties:
        defaultValue:
          type: string
        includeObjectsWithNoValueSet:
          type: boolean
        numberOfDays:
          type: integer
          format: int32
        operationType:
          type: string
        operator:
          type: string
          enum:
            - NOT_UPDATED_IN_LAST_X_DAYS
            - UPDATED_IN_LAST_X_DAYS
        operatorName:
          type: string
        propertyType:
          type: string
          default: rolling-property-updated
          enum:
            - rolling-property-updated
        renderSpec:
          type: string
      x-hubspot-sub-type-impl: true
    EnumerationPropertyOperation:
      title: enumeration
      required:
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - operatorName
        - propertyType
        - values
      type: object
      properties:
        defaultValue:
          type: string
        includeObjectsWithNoValueSet:
          type: boolean
        operationType:
          type: string
        operator:
          type: string
          enum:
            - CONTAINS_ALL
            - DOES_NOT_CONTAIN_ALL
            - HAS_EVER_BEEN_ANY_OF
            - HAS_EVER_BEEN_EXACTLY
            - HAS_EVER_CONTAINED_ALL
            - HAS_NEVER_BEEN_ANY_OF
            - HAS_NEVER_BEEN_EXACTLY
            - HAS_NEVER_CONTAINED_ALL
            - IS_ANY_OF
            - IS_EXACTLY
            - IS_NONE_OF
            - IS_NOT_EXACTLY
        operatorName:
          type: string
        propertyType:
          type: string
          default: enumeration
          enum:
            - enumeration
        renderSpec:
          type: string
        values:
          type: array
          items:
            type: string
      x-hubspot-sub-type-impl: true
    AllPropertyTypesOperation:
      title: alltypes
      required:
        - coalescingRefineBy
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - operatorName
        - propertyType
      type: object
      properties:
        coalescingRefineBy:
          oneOf:
            - $ref: '#/components/schemas/NumOccurrencesRefineBy'
            - $ref: '#/components/schemas/SetOccurrencesRefineBy'
        defaultValue:
          type: string
        includeObjectsWithNoValueSet:
          type: boolean
        operationType:
          type: string
        operator:
          type: string
          enum:
            - IS_BLANK
            - IS_KNOWN
            - IS_NOT_BLANK
            - IS_UNKNOWN
        operatorName:
          type: string
        propertyType:
          type: string
          default: alltypes
          enum:
            - alltypes
        pruningRefineBy:
          oneOf:
            - $ref: '#/components/schemas/RelativeComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/RelativeRangedTimestampRefineBy'
            - $ref: '#/components/schemas/AbsoluteComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/AbsoluteRangedTimestampRefineBy'
            - $ref: '#/components/schemas/AllHistoryRefineBy'
            - $ref: '#/components/schemas/TimePointOperation'
            - $ref: '#/components/schemas/RangedTimeOperation'
        renderSpec:
          type: string
      x-hubspot-sub-type-impl: true
    RangedNumberPropertyOperation:
      title: number-ranged
      required:
        - includeObjectsWithNoValueSet
        - lowerBound
        - operationType
        - operator
        - operatorName
        - propertyType
        - upperBound
      type: object
      properties:
        defaultValue:
          type: string
        includeObjectsWithNoValueSet:
          type: boolean
        lowerBound:
          type: number
        operationType:
          type: string
        operator:
          type: string
          enum:
            - IS_BETWEEN
            - IS_NOT_BETWEEN
        operatorName:
          type: string
        propertyType:
          type: string
          default: number-ranged
          enum:
            - number-ranged
        renderSpec:
          type: string
        upperBound:
          type: number
      x-hubspot-sub-type-impl: true
    MultiStringPropertyOperation:
      title: multistring
      required:
        - coalescingRefineBy
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - operatorName
        - propertyType
        - values
      type: object
      properties:
        coalescingRefineBy:
          oneOf:
            - $ref: '#/components/schemas/NumOccurrencesRefineBy'
            - $ref: '#/components/schemas/SetOccurrencesRefineBy'
        defaultValue:
          type: string
        includeObjectsWithNoValueSet:
          type: boolean
        operationType:
          type: string
        operator:
          type: string
          enum:
            - CONTAINS
            - CONTAINS_EXACTLY
            - DOES_NOT_CONTAIN
            - DOES_NOT_CONTAIN_EXACTLY
            - ENDS_WITH
            - IS_EQUAL_TO
            - IS_NOT_EQUAL_TO
            - STARTS_WITH
        operatorName:
          type: string
        propertyType:
          type: string
          default: multistring
          enum:
            - multistring
        pruningRefineBy:
          oneOf:
            - $ref: '#/components/schemas/RelativeComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/RelativeRangedTimestampRefineBy'
            - $ref: '#/components/schemas/AbsoluteComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/AbsoluteRangedTimestampRefineBy'
            - $ref: '#/components/schemas/AllHistoryRefineBy'
            - $ref: '#/components/schemas/TimePointOperation'
            - $ref: '#/components/schemas/RangedTimeOperation'
        renderSpec:
          type: string
        values:
          type: array
          items:
            type: string
      x-hubspot-sub-type-impl: true
    DatePropertyOperation:
      title: date
      required:
        - day
        - includeObjectsWithNoValueSet
        - month
        - operationType
        - operator
        - operatorName
        - propertyType
        - year
      type: object
      properties:
        day:
          type: integer
          format: int32
        defaultValue:
          type: string
        includeObjectsWithNoValueSet:
          type: boolean
        month:
          type: string
          enum:
            - APR
            - AUG
            - DEC
            - FEB
            - JAN
            - JUL
            - JUN
            - MAR
            - MAY
            - NOV
            - OCT
            - SEP
        operationType:
          type: string
        operator:
          type: string
          enum:
            - AFTER
            - BEFORE
            - EQUAL
        operatorName:
          type: string
        propertyType:
          type: string
          default: date
          enum:
            - date
        renderSpec:
          type: string
        year:
          type: integer
          format: int32
      x-hubspot-sub-type-impl: true
    CalendarDatePropertyOperation:
      title: calendar-date
      required:
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - operatorName
        - propertyType
        - timeUnit
        - timeUnitCount
        - useFiscalYear
      type: object
      properties:
        defaultValue:
          type: string
        fiscalYearStart:
          type: string
          enum:
            - APRIL
            - AUGUST
            - DECEMBER
            - FEBRUARY
            - JANUARY
            - JULY
            - JUNE
            - MARCH
            - MAY
            - NOVEMBER
            - OCTOBER
            - SEPTEMBER
        includeObjectsWithNoValueSet:
          type: boolean
        operationType:
          type: string
        operator:
          type: string
          enum:
            - IN_LAST_TIME_UNIT
            - IN_NEXT_TIME_UNIT
            - IN_THIS_TIME_UNIT
            - IN_THIS_TIME_UNIT_SO_FAR
        operatorName:
          type: string
        propertyType:
          type: string
          default: calendar-date
          enum:
            - calendar-date
        renderSpec:
          type: string
        timeUnit:
          type: string
          enum:
            - DAY
            - MONTH
            - QUARTER
            - WEEK
            - YEAR
        timeUnitCount:
          type: integer
          format: int32
        useFiscalYear:
          type: boolean
      x-hubspot-sub-type-impl: true
    TimePointOperation:
      title: timepoint
      required:
        - endpointBehavior
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - operatorName
        - propertyParser
        - propertyType
        - timePoint
        - type
      type: object
      properties:
        defaultValue:
          type: string
        endpointBehavior:
          type: string
          enum:
            - EXCLUSIVE
            - INCLUSIVE
        includeObjectsWithNoValueSet:
          type: boolean
        operationType:
          type: string
        operator:
          type: string
          enum:
            - IS_AFTER
            - IS_BEFORE
        operatorName:
          type: string
        propertyParser:
          type: string
          enum:
            - ANNIVERSARY
            - ANNIVERSARY_WITH_ZONE_SAME_LOCAL_CONVERSION
            - UPDATED_AT
            - VALUE
            - VALUE_WITH_ZONE_SAME_LOCAL_CONVERSION
        propertyType:
          type: string
          default: timepoint
          enum:
            - timepoint
        renderSpec:
          type: string
        timePoint:
          oneOf:
            - $ref: '#/components/schemas/DatePoint'
            - $ref: '#/components/schemas/IndexedTimePoint'
            - $ref: '#/components/schemas/PropertyReferencedTime'
        type:
          type: string
      x-hubspot-sub-type-impl: true
    RangedTimeOperation:
      title: rangedtime
      required:
        - includeObjectsWithNoValueSet
        - lowerBoundEndpointBehavior
        - lowerBoundTimePoint
        - operationType
        - operator
        - operatorName
        - propertyParser
        - propertyType
        - type
        - upperBoundEndpointBehavior
        - upperBoundTimePoint
      type: object
      properties:
        defaultValue:
          type: string
        includeObjectsWithNoValueSet:
          type: boolean
        lowerBoundEndpointBehavior:
          type: string
          enum:
            - EXCLUSIVE
            - INCLUSIVE
        lowerBoundTimePoint:
          oneOf:
            - $ref: '#/components/schemas/DatePoint'
            - $ref: '#/components/schemas/IndexedTimePoint'
            - $ref: '#/components/schemas/PropertyReferencedTime'
        operationType:
          type: string
        operator:
          type: string
          enum:
            - IS_BETWEEN
            - IS_NOT_BETWEEN
        operatorName:
          type: string
        propertyParser:
          type: string
          enum:
            - ANNIVERSARY
            - ANNIVERSARY_WITH_ZONE_SAME_LOCAL_CONVERSION
            - UPDATED_AT
            - VALUE
            - VALUE_WITH_ZONE_SAME_LOCAL_CONVERSION
        propertyType:
          type: string
          default: rangedtime
          enum:
            - rangedtime
        renderSpec:
          type: string
        type:
          type: string
        upperBoundEndpointBehavior:
          type: string
          enum:
            - EXCLUSIVE
            - INCLUSIVE
        upperBoundTimePoint:
          oneOf:
            - $ref: '#/components/schemas/DatePoint'
            - $ref: '#/components/schemas/IndexedTimePoint'
            - $ref: '#/components/schemas/PropertyReferencedTime'
      x-hubspot-sub-type-impl: true
    RegexPropertyOperation:
      title: regex
      required:
        - caseSensitive
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - operatorName
        - pattern
        - propertyType
      type: object
      properties:
        caseSensitive:
          type: boolean
        defaultValue:
          type: string
        includeObjectsWithNoValueSet:
          type: boolean
        operationType:
          type: string
        operator:
          type: string
          enum:
            - DOES_NOT_MATCH_REGEX
            - MATCHES_REGEX
        operatorName:
          type: string
        pattern:
          type: string
        propertyType:
          type: string
          default: regex
          enum:
            - regex
        renderSpec:
          type: string
      x-hubspot-sub-type-impl: true
    NumOccurrencesRefineBy:
      title: NumOccurrencesRefineBy
      required:
        - type
      type: object
      properties:
        maxOccurrences:
          type: integer
          format: int32
        minOccurrences:
          type: integer
          format: int32
        type:
          type: string
          default: NumOccurrencesRefineBy
          enum:
            - NumOccurrencesRefineBy
      x-hubspot-sub-type-impl: true
    SetOccurrencesRefineBy:
      title: SetOccurrencesRefineBy
      required:
        - setType
        - type
      type: object
      properties:
        setType:
          type: string
          enum:
            - ALL
            - ALL_INCLUDE_EMPTY
            - ANY
            - ANY_INCLUDE_EMPTY
            - NONE
            - NONE_EXCLUDE_EMPTY
        type:
          type: string
          default: SetOccurrencesRefineBy
          enum:
            - SetOccurrencesRefineBy
      x-hubspot-sub-type-impl: true
    RelativeComparativeTimestampRefineBy:
      title: RelativeComparativeTimestampRefineBy
      required:
        - comparison
        - timeOffset
        - type
      type: object
      properties:
        comparison:
          type: string
          enum:
            - AFTER
            - BEFORE
        timeOffset:
          $ref: '#/components/schemas/TimeOffset'
        type:
          type: string
          default: RelativeComparativeTimestampRefineBy
          enum:
            - RelativeComparativeTimestampRefineBy
      x-hubspot-sub-type-impl: true
    RelativeRangedTimestampRefineBy:
      title: RelativeRangedTimestampRefineBy
      required:
        - lowerBoundOffset
        - rangeType
        - type
        - upperBoundOffset
      type: object
      properties:
        lowerBoundOffset:
          $ref: '#/components/schemas/TimeOffset'
        rangeType:
          type: string
          enum:
            - BETWEEN
            - NOT_BETWEEN
        type:
          type: string
          default: RelativeRangedTimestampRefineBy
          enum:
            - RelativeRangedTimestampRefineBy
        upperBoundOffset:
          $ref: '#/components/schemas/TimeOffset'
      x-hubspot-sub-type-impl: true
    AbsoluteComparativeTimestampRefineBy:
      title: AbsoluteComparativeTimestampRefineBy
      required:
        - comparison
        - timestamp
        - type
      type: object
      properties:
        comparison:
          type: string
          enum:
            - AFTER
            - BEFORE
        timestamp:
          type: integer
          format: int64
        type:
          type: string
          default: AbsoluteComparativeTimestampRefineBy
          enum:
            - AbsoluteComparativeTimestampRefineBy
      x-hubspot-sub-type-impl: true
    AbsoluteRangedTimestampRefineBy:
      title: AbsoluteRangedTimestampRefineBy
      required:
        - lowerTimestamp
        - rangeType
        - type
        - upperTimestamp
      type: object
      properties:
        lowerTimestamp:
          type: integer
          format: int64
        rangeType:
          type: string
          enum:
            - BETWEEN
            - NOT_BETWEEN
        type:
          type: string
          default: AbsoluteRangedTimestampRefineBy
          enum:
            - AbsoluteRangedTimestampRefineBy
        upperTimestamp:
          type: integer
          format: int64
      x-hubspot-sub-type-impl: true
    AllHistoryRefineBy:
      title: AllHistoryRefineBy
      required:
        - type
      type: object
      properties:
        type:
          type: string
          default: AllHistoryRefineBy
          enum:
            - AllHistoryRefineBy
      x-hubspot-sub-type-impl: true
    DatePoint:
      title: DATE
      required:
        - day
        - month
        - timeType
        - timezoneSource
        - year
        - zoneId
      type: object
      properties:
        day:
          type: integer
          format: int32
        hour:
          type: integer
          format: int32
        millisecond:
          type: integer
          format: int32
        minute:
          type: integer
          format: int32
        month:
          type: integer
          format: int32
        second:
          type: integer
          format: int32
        timeType:
          type: string
          default: DATE
          enum:
            - DATE
        timezoneSource:
          type: string
          enum:
            - CUSTOM
            - PORTAL
            - USER
        year:
          type: integer
          format: int32
        zoneId:
          type: string
      x-hubspot-sub-type-impl: true
    IndexedTimePoint:
      title: INDEXED
      required:
        - indexReference
        - timeType
        - timezoneSource
        - zoneId
      type: object
      properties:
        indexReference:
          oneOf:
            - $ref: '#/components/schemas/NowReference'
            - $ref: '#/components/schemas/TodayReference'
            - $ref: '#/components/schemas/WeekReference'
            - $ref: '#/components/schemas/MonthReference'
            - $ref: '#/components/schemas/QuarterReference'
            - $ref: '#/components/schemas/FiscalQuarter'
            - $ref: '#/components/schemas/YearReference'
            - $ref: '#/components/schemas/FiscalYear'
        offset:
          $ref: '#/components/schemas/IndexOffset'
        shouldGenerateRefreshTime:
          type: boolean
        timeType:
          type: string
          default: INDEXED
          enum:
            - INDEXED
        timezoneSource:
          type: string
          enum:
            - CUSTOM
            - PORTAL
            - USER
        zoneId:
          type: string
      x-hubspot-sub-type-impl: true
    PropertyReferencedTime:
      title: PROPERTY_REFERENCED
      required:
        - property
        - referenceType
        - timeType
        - timezoneSource
        - zoneId
      type: object
      properties:
        property:
          type: string
        referenceType:
          type: string
          enum:
            - ANNIVERSARY
            - ANNIVERSARY_WITH_ZONE_SAME_LOCAL_CONVERSION
            - UPDATED_AT
            - VALUE
            - VALUE_WITH_ZONE_SAME_LOCAL_CONVERSION
        timeType:
          type: string
          default: PROPERTY_REFERENCED
          enum:
            - PROPERTY_REFERENCED
        timezoneSource:
          type: string
          enum:
            - CUSTOM
            - PORTAL
            - USER
        zoneId:
          type: string
      x-hubspot-sub-type-impl: true
    TimeOffset:
      required:
        - amount
        - offsetDirection
        - timeUnit
      type: object
      properties:
        amount:
          type: integer
          format: int64
        offsetDirection:
          type: string
          enum:
            - FUTURE
            - PAST
        timeUnit:
          type: string
          enum:
            - DAYS
            - HOURS
            - MINUTES
            - WEEKS
    NowReference:
      title: NOW
      required:
        - referenceType
      type: object
      properties:
        hour:
          type: integer
          format: int32
        millisecond:
          type: integer
          format: int32
        minute:
          type: integer
          format: int32
        referenceType:
          type: string
          default: NOW
          enum:
            - NOW
        second:
          type: integer
          format: int32
      x-hubspot-sub-type-impl: true
    TodayReference:
      title: TODAY
      required:
        - referenceType
      type: object
      properties:
        hour:
          type: integer
          format: int32
        millisecond:
          type: integer
          format: int32
        minute:
          type: integer
          format: int32
        referenceType:
          type: string
          default: TODAY
          enum:
            - TODAY
        second:
          type: integer
          format: int32
      x-hubspot-sub-type-impl: true
    WeekReference:
      title: WEEK
      required:
        - dayOfWeek
        - referenceType
      type: object
      properties:
        dayOfWeek:
          type: string
          enum:
            - FRIDAY
            - MONDAY
            - SATURDAY
            - SUNDAY
            - THURSDAY
            - TUESDAY
            - WEDNESDAY
        hour:
          type: integer
          format: int32
        millisecond:
          type: integer
          format: int32
        minute:
          type: integer
          format: int32
        referenceType:
          type: string
          default: WEEK
          enum:
            - WEEK
        second:
          type: integer
          format: int32
      x-hubspot-sub-type-impl: true
    MonthReference:
      title: MONTH
      required:
        - day
        - referenceType
      type: object
      properties:
        day:
          type: integer
          format: int32
        hour:
          type: integer
          format: int32
        millisecond:
          type: integer
          format: int32
        minute:
          type: integer
          format: int32
        referenceType:
          type: string
          default: MONTH
          enum:
            - MONTH
        second:
          type: integer
          format: int32
      x-hubspot-sub-type-impl: true
    QuarterReference:
      title: QUARTER
      required:
        - day
        - month
        - referenceType
      type: object
      properties:
        day:
          type: integer
          format: int32
        hour:
          type: integer
          format: int32
        millisecond:
          type: integer
          format: int32
        minute:
          type: integer
          format: int32
        month:
          type: integer
          format: int32
        referenceType:
          type: string
          default: QUARTER
          enum:
            - QUARTER
        second:
          type: integer
          format: int32
      x-hubspot-sub-type-impl: true
    FiscalQuarter:
      title: FISCAL_QUARTER
      required:
        - day
        - month
        - referenceType
      type: object
      properties:
        day:
          type: integer
          format: int32
        hour:
          type: integer
          format: int32
        millisecond:
          type: integer
          format: int32
        minute:
          type: integer
          format: int32
        month:
          type: integer
          format: int32
        referenceType:
          type: string
          default: FISCAL_QUARTER
          enum:
            - FISCAL_QUARTER
        second:
          type: integer
          format: int32
      x-hubspot-sub-type-impl: true
    YearReference:
      title: YEAR
      required:
        - day
        - month
        - referenceType
      type: object
      properties:
        day:
          type: integer
          format: int32
        hour:
          type: integer
          format: int32
        millisecond:
          type: integer
          format: int32
        minute:
          type: integer
          format: int32
        month:
          type: integer
          format: int32
        referenceType:
          type: string
          default: YEAR
          enum:
            - YEAR
        second:
          type: integer
          format: int32
      x-hubspot-sub-type-impl: true
    FiscalYear:
      title: FISCAL_YEAR
      required:
        - day
        - month
        - referenceType
      type: object
      properties:
        day:
          type: integer
          format: int32
        hour:
          type: integer
          format: int32
        millisecond:
          type: integer
          format: int32
        minute:
          type: integer
          format: int32
        month:
          type: integer
          format: int32
        referenceType:
          type: string
          default: FISCAL_YEAR
          enum:
            - FISCAL_YEAR
        second:
          type: integer
          format: int32
      x-hubspot-sub-type-impl: true
    IndexOffset:
      type: object
      properties:
        days:
          type: integer
          format: int32
        hours:
          type: integer
          format: int32
        milliseconds:
          type: integer
          format: int32
        minutes:
          type: integer
          format: int32
        months:
          type: integer
          format: int32
        quarters:
          type: integer
          format: int32
        seconds:
          type: integer
          format: int32
        weeks:
          type: integer
          format: int32
        years:
          type: integer
          format: int32
  responses:
    Error:
      description: An error occurred.
      content:
        '*/*':
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://app.hubspot.com/oauth/authorize
          tokenUrl: https://api.hubapi.com/oauth/v1/token
          scopes:
            analytics.behavioral_events.send: ''
            behavioral_events.event_definitions.read_write: ''

````