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

# Retrieve workflow

> Retrieve detailed information about a specific automation flow in your HubSpot account using its unique identifier. This endpoint is useful for obtaining the current configuration and status of a flow, which can aid in monitoring and managing your automation processes.

export const ScopesList = ({scopes = [], description = "この API には、次のいずれかのスコープが必要です。"}) => {
  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: "サポートされる製品",
    description: "次のいずれかの製品またはそれ以上が必要です。",
    productNames: {
      marketing: "Marketing Hub",
      sales: "Sales Hub",
      service: "Service Hub",
      cms: "Content Hub"
    },
    tiers: {
      free: "無料ツール",
      starter: "Starter",
      professional: "Professional",
      enterprise: "Enterprise"
    }
  };
  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="PROFESSIONAL" salesLevel="PROFESSIONAL" serviceLevel="PROFESSIONAL" cmsLevel="PROFESSIONAL" />
  </Accordion>

  <Accordion title="Required Scopes" icon="key">
    <ScopesList
      scopes={[
  'automation'
]}
    />
  </Accordion>
</AccordionGroup>


## OpenAPI

````yaml specs/2026-09-beta/automation-automation-v4-v2026-09-beta-flows.json GET /automation/2026-09-beta/flows/{flowId}
openapi: 3.0.1
info:
  title: Automation Automation V4
  description: Basepom for all HubSpot Projects
  version: 2026-09-beta
  x-hubspot-product-tier-requirements:
    marketing: PROFESSIONAL
    sales: PROFESSIONAL
    service: PROFESSIONAL
    cms: PROFESSIONAL
    commerce: PROFESSIONAL
    crmHub: PROFESSIONAL
    dataHub: PROFESSIONAL
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Action types
  - name: Basic
  - name: Emails
  - name: Revisions
  - name: Workflow ID mappings
paths:
  /automation/2026-09-beta/flows/{flowId}:
    get:
      tags:
        - Basic
      summary: Retrieve workflow
      description: >-
        Retrieve detailed information about a specific automation flow in your
        HubSpot account using its unique identifier. This endpoint is useful for
        obtaining the current configuration and status of a flow, which can aid
        in monitoring and managing your automation processes.
      operationId: >-
        get-/automation/2026-09-beta/flows/{flowId}_/automation/2026-09-beta/flows/{flowId}
      parameters:
        - name: flowId
          in: path
          description: The unique identifier of the automation flow to retrieve.
          required: true
          style: simple
          explode: false
          schema:
            type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiFlow'
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security:
        - oauth2:
            - automation
        - private_apps:
            - automation
components:
  schemas:
    ApiFlow:
      properties: {}
      oneOf:
        - $ref: '#/components/schemas/ApiContactFlow'
        - $ref: '#/components/schemas/ApiPlatformFlow'
    ApiContactFlow:
      properties: {}
      allOf:
        - $ref: '#/components/schemas/ApiFlow'
        - required:
            - actions
            - blockedDates
            - canEnrollFromSalesforce
            - createdAt
            - crmObjectCreationStatus
            - customProperties
            - dataSources
            - flowType
            - id
            - isEnabled
            - nextAvailableActionId
            - objectTypeId
            - revisionId
            - suppressionListIds
            - timeWindows
            - type
            - updatedAt
          type: object
          properties:
            type:
              type: string
              enum:
                - CONTACT_FLOW
                - PLATFORM_FLOW
              default: CONTACT_FLOW
            id:
              type: string
            isEnabled:
              type: boolean
            flowType:
              type: string
              enum:
                - WORKFLOW
                - ACTION_SET
                - UNKNOWN
            revisionId:
              type: string
            name:
              type: string
            description:
              type: string
            uuid:
              type: string
            createdAt:
              type: string
              format: date-time
            updatedAt:
              type: string
              format: date-time
            startActionId:
              type: string
            nextAvailableActionId:
              type: string
            actions:
              type: array
              items:
                oneOf:
                  - $ref: '#/components/schemas/ApiStaticBranchAction'
                  - $ref: '#/components/schemas/ApiListBranchAction'
                  - $ref: '#/components/schemas/ApiABTestBranchAction'
                  - $ref: '#/components/schemas/ApiCustomCodeAction'
                  - $ref: '#/components/schemas/ApiWebhookAction'
                  - $ref: '#/components/schemas/ApiSingleConnectionAction'
            enrollmentCriteria:
              oneOf:
                - $ref: '#/components/schemas/ApiListBasedEnrollmentCriteria'
                - $ref: '#/components/schemas/ApiEventBasedEnrollmentCriteria'
                - $ref: '#/components/schemas/ApiManualEnrollmentCriteria'
                - $ref: '#/components/schemas/ApiDatasetBasedEnrollmentCriteria'
            enrollmentSchedule:
              oneOf:
                - $ref: '#/components/schemas/ApiDailyEnrollmentSchedule'
                - $ref: '#/components/schemas/ApiWeeklyEnrollmentSchedule'
                - $ref: >-
                    #/components/schemas/ApiMonthlySpecificDaysEnrollmentSchedule
                - $ref: >-
                    #/components/schemas/ApiMonthlyRelativeDaysEnrollmentSchedule
                - $ref: '#/components/schemas/ApiYearlyEnrollmentSchedule'
                - $ref: '#/components/schemas/ApiPropertyBasedEnrollmentSchedule'
            timeWindows:
              type: array
              items:
                $ref: '#/components/schemas/ApiTimeWindow'
            blockedDates:
              type: array
              items:
                $ref: '#/components/schemas/ApiBlockedDate'
            customProperties:
              type: object
              additionalProperties:
                type: string
            dataSources:
              type: array
              items:
                oneOf:
                  - $ref: '#/components/schemas/ApiAssociationDataSource'
                  - $ref: '#/components/schemas/ApiAssociationTimestampDataSource'
                  - $ref: '#/components/schemas/ApiStaticPropertyFilterDataSource'
                  - $ref: >-
                      #/components/schemas/ApiEnrolledRecordPropertyFilterDataSource
                  - $ref: >-
                      #/components/schemas/ApiDatasetFieldPropertyFilterDataSource
                  - $ref: >-
                      #/components/schemas/ApiEnrolledArgumentPropertyFilterDataSource
            crmObjectCreationStatus:
              type: string
              enum:
                - PENDING
                - COMPLETE
            suppressionListIds:
              type: array
              items:
                type: integer
                format: int32
            goalFilterBranch:
              oneOf:
                - $ref: '#/components/schemas/PublicOrFilterBranch'
                - $ref: '#/components/schemas/PublicAndFilterBranch'
                - $ref: '#/components/schemas/PublicNotAllFilterBranch'
                - $ref: '#/components/schemas/PublicNotAnyFilterBranch'
                - $ref: '#/components/schemas/PublicRestrictedFilterBranch'
                - $ref: '#/components/schemas/PublicUnifiedEventsFilterBranch'
                - $ref: '#/components/schemas/PublicPropertyAssociationFilterBranch'
                - $ref: '#/components/schemas/PublicAssociationFilterBranch'
            canEnrollFromSalesforce:
              type: boolean
            eventAnchor:
              oneOf:
                - $ref: '#/components/schemas/ApiContactPropertyAnchor'
                - $ref: '#/components/schemas/ApiStaticDateAnchor'
            unEnrollmentSetting:
              $ref: '#/components/schemas/ApiUnEnrollmentSetting'
            objectTypeId:
              type: string
          x-hubspot-sub-type-impl: true
    ApiPlatformFlow:
      properties: {}
      allOf:
        - $ref: '#/components/schemas/ApiFlow'
        - required:
            - actions
            - blockedDates
            - createdAt
            - crmObjectCreationStatus
            - customProperties
            - dataSources
            - flowType
            - id
            - isEnabled
            - nextAvailableActionId
            - objectTypeId
            - revisionId
            - timeWindows
            - type
            - updatedAt
          type: object
          properties:
            type:
              type: string
              enum:
                - CONTACT_FLOW
                - PLATFORM_FLOW
              default: PLATFORM_FLOW
            id:
              type: string
            isEnabled:
              type: boolean
            objectTypeId:
              type: string
            flowType:
              type: string
              enum:
                - WORKFLOW
                - ACTION_SET
                - UNKNOWN
            revisionId:
              type: string
            name:
              type: string
            description:
              type: string
            uuid:
              type: string
            createdAt:
              type: string
              format: date-time
            updatedAt:
              type: string
              format: date-time
            startActionId:
              type: string
            nextAvailableActionId:
              type: string
            actions:
              type: array
              items:
                oneOf:
                  - $ref: '#/components/schemas/ApiStaticBranchAction'
                  - $ref: '#/components/schemas/ApiListBranchAction'
                  - $ref: '#/components/schemas/ApiABTestBranchAction'
                  - $ref: '#/components/schemas/ApiCustomCodeAction'
                  - $ref: '#/components/schemas/ApiWebhookAction'
                  - $ref: '#/components/schemas/ApiSingleConnectionAction'
            enrollmentCriteria:
              oneOf:
                - $ref: '#/components/schemas/ApiListBasedEnrollmentCriteria'
                - $ref: '#/components/schemas/ApiEventBasedEnrollmentCriteria'
                - $ref: '#/components/schemas/ApiManualEnrollmentCriteria'
                - $ref: '#/components/schemas/ApiDatasetBasedEnrollmentCriteria'
            enrollmentSchedule:
              oneOf:
                - $ref: '#/components/schemas/ApiDailyEnrollmentSchedule'
                - $ref: '#/components/schemas/ApiWeeklyEnrollmentSchedule'
                - $ref: >-
                    #/components/schemas/ApiMonthlySpecificDaysEnrollmentSchedule
                - $ref: >-
                    #/components/schemas/ApiMonthlyRelativeDaysEnrollmentSchedule
                - $ref: '#/components/schemas/ApiYearlyEnrollmentSchedule'
                - $ref: '#/components/schemas/ApiPropertyBasedEnrollmentSchedule'
            timeWindows:
              type: array
              items:
                $ref: '#/components/schemas/ApiTimeWindow'
            blockedDates:
              type: array
              items:
                $ref: '#/components/schemas/ApiBlockedDate'
            customProperties:
              type: object
              additionalProperties:
                type: string
            dataSources:
              type: array
              items:
                oneOf:
                  - $ref: '#/components/schemas/ApiAssociationDataSource'
                  - $ref: '#/components/schemas/ApiAssociationTimestampDataSource'
                  - $ref: '#/components/schemas/ApiStaticPropertyFilterDataSource'
                  - $ref: >-
                      #/components/schemas/ApiEnrolledRecordPropertyFilterDataSource
                  - $ref: >-
                      #/components/schemas/ApiDatasetFieldPropertyFilterDataSource
                  - $ref: >-
                      #/components/schemas/ApiEnrolledArgumentPropertyFilterDataSource
            crmObjectCreationStatus:
              type: string
              enum:
                - PENDING
                - COMPLETE
            suppressionFilterBranch:
              oneOf:
                - $ref: '#/components/schemas/PublicOrFilterBranch'
                - $ref: '#/components/schemas/PublicAndFilterBranch'
                - $ref: '#/components/schemas/PublicNotAllFilterBranch'
                - $ref: '#/components/schemas/PublicNotAnyFilterBranch'
                - $ref: '#/components/schemas/PublicRestrictedFilterBranch'
                - $ref: '#/components/schemas/PublicUnifiedEventsFilterBranch'
                - $ref: '#/components/schemas/PublicPropertyAssociationFilterBranch'
                - $ref: '#/components/schemas/PublicAssociationFilterBranch'
          x-hubspot-sub-type-impl: true
    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
    ApiStaticBranchAction:
      title: STATIC_BRANCH
      required:
        - actionId
        - inputValue
        - staticBranches
        - type
      type: object
      properties:
        actionId:
          type: string
          description: The unique identifier for this static branch action.
        defaultBranch:
          $ref: '#/components/schemas/ApiConnection'
        defaultBranchName:
          type: string
          description: The name of the default branch in the static branch action.
        inputValue:
          description: >-
            Represents the input value for the static branch action, which can
            be of various types such as action data, object property, or static
            value.
          oneOf:
            - $ref: '#/components/schemas/ApiActionDataValue'
            - $ref: '#/components/schemas/ApiObjectPropertyValue'
            - $ref: '#/components/schemas/ApiStaticValue'
            - $ref: '#/components/schemas/ApiRelativeDateTimeValue'
            - $ref: '#/components/schemas/ApiTimestampValue'
            - $ref: '#/components/schemas/ApiIncrementValue'
            - $ref: '#/components/schemas/ApiFetchedObjectPropertyValue'
            - $ref: '#/components/schemas/ApiAppendObjectPropertyValue'
            - $ref: '#/components/schemas/ApiStaticAppendValue'
            - $ref: '#/components/schemas/ApiEnrollmentEventPropertyValue'
        staticBranches:
          type: array
          items:
            $ref: '#/components/schemas/ApiStaticBranch'
        type:
          type: string
          description: Indicates the type of the action, which defaults to STATIC_BRANCH.
          enum:
            - STATIC_BRANCH
          default: STATIC_BRANCH
    ApiListBranchAction:
      title: LIST_BRANCH
      required:
        - actionId
        - listBranches
        - type
      type: object
      properties:
        actionId:
          type: string
          description: The unique identifier for the list branch action.
        defaultBranch:
          $ref: '#/components/schemas/ApiConnection'
        defaultBranchName:
          type: string
          description: The name of the default branch in the list action.
        listBranches:
          type: array
          items:
            $ref: '#/components/schemas/ApiListBranch'
        type:
          type: string
          description: Indicates the type of action, which defaults to LIST_BRANCH.
          enum:
            - LIST_BRANCH
          default: LIST_BRANCH
    ApiABTestBranchAction:
      title: AB_TEST_BRANCH
      required:
        - actionId
        - testBranches
        - type
      type: object
      properties:
        actionId:
          type: string
          description: The unique identifier for the A/B test branch action.
        testBranches:
          type: array
          items:
            $ref: '#/components/schemas/ApiABTestBranch'
        type:
          type: string
          description: Indicates the type of action, which defaults to AB_TEST_BRANCH.
          enum:
            - AB_TEST_BRANCH
          default: AB_TEST_BRANCH
    ApiCustomCodeAction:
      title: CUSTOM_CODE
      required:
        - actionId
        - inputFields
        - outputFields
        - runtime
        - secretNames
        - sourceCode
        - type
      type: object
      properties:
        actionId:
          type: string
          description: The unique identifier for the custom code action.
        connection:
          $ref: '#/components/schemas/ApiConnection'
        inputFields:
          type: array
          items:
            $ref: '#/components/schemas/ApiInputVariable'
        outputFields:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/ApiEnumerationOutputField'
        runtime:
          type: string
          description: Specifies the runtime environment for the custom code action.
        secretNames:
          type: array
          items:
            type: string
        sourceCode:
          type: string
          description: Contains the source code for the custom code action.
        type:
          type: string
          description: Indicates the type of the action, which defaults to CUSTOM_CODE.
          enum:
            - CUSTOM_CODE
          default: CUSTOM_CODE
    ApiWebhookAction:
      title: WEBHOOK
      required:
        - actionId
        - method
        - queryParams
        - type
        - webhookUrl
      type: object
      properties:
        actionId:
          type: string
          description: The unique identifier for the webhook action.
        authSettings:
          description: >-
            Defines the authentication settings for the webhook, which can
            include an authentication key or a signature.
          oneOf:
            - $ref: '#/components/schemas/ApiAuthKeyWebhookAuthSettings'
            - $ref: '#/components/schemas/ApiSignatureWebhookAuthSettings'
        connection:
          $ref: '#/components/schemas/ApiConnection'
        method:
          type: string
          description: >-
            Specifies the HTTP method to be used for the webhook request, with
            accepted values including CONNECT, DELETE, GET, HEAD, OPTIONS,
            PATCH, POST, PUT, TRACE.
          enum:
            - CONNECT
            - DELETE
            - GET
            - HEAD
            - OPTIONS
            - PATCH
            - POST
            - PUT
            - TRACE
        queryParams:
          type: array
          items:
            $ref: '#/components/schemas/ApiInputVariable'
        type:
          type: string
          description: Indicates the type of action, which defaults to WEBHOOK.
          enum:
            - WEBHOOK
          default: WEBHOOK
        webhookUrl:
          type: string
          description: The URL to which the webhook request will be sent.
    ApiSingleConnectionAction:
      title: SINGLE_CONNECTION
      required:
        - actionId
        - actionTypeId
        - actionTypeVersion
        - fields
        - type
      type: object
      properties:
        actionId:
          type: string
          description: The unique identifier for the single connection action.
        actionTypeId:
          type: string
          description: The identifier for the type of action being performed.
        actionTypeVersion:
          type: integer
          description: Specifies the version of the action type.
          format: int32
        connection:
          $ref: '#/components/schemas/ApiConnection'
        fields:
          type: object
          additionalProperties:
            type: object
            properties: {}
          description: Contains the fields associated with the single connection action.
        type:
          type: string
          description: >-
            Indicates the type of the action, which defaults to
            SINGLE_CONNECTION.
          enum:
            - SINGLE_CONNECTION
          default: SINGLE_CONNECTION
    ApiListBasedEnrollmentCriteria:
      title: LIST_BASED
      required:
        - listFilterBranch
        - reEnrollmentTriggersFilterBranches
        - shouldReEnroll
        - type
        - unEnrollObjectsNotMeetingCriteria
      type: object
      properties:
        listFilterBranch:
          description: >-
            Defines the filter branch used to determine list-based enrollment
            criteria.
          oneOf:
            - $ref: '#/components/schemas/PublicOrFilterBranch'
            - $ref: '#/components/schemas/PublicAndFilterBranch'
            - $ref: '#/components/schemas/PublicNotAllFilterBranch'
            - $ref: '#/components/schemas/PublicNotAnyFilterBranch'
            - $ref: '#/components/schemas/PublicRestrictedFilterBranch'
            - $ref: '#/components/schemas/PublicUnifiedEventsFilterBranch'
            - $ref: '#/components/schemas/PublicPropertyAssociationFilterBranch'
            - $ref: '#/components/schemas/PublicAssociationFilterBranch'
        reEnrollmentTriggersFilterBranches:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/PublicOrFilterBranch'
              - $ref: '#/components/schemas/PublicAndFilterBranch'
              - $ref: '#/components/schemas/PublicNotAllFilterBranch'
              - $ref: '#/components/schemas/PublicNotAnyFilterBranch'
              - $ref: '#/components/schemas/PublicRestrictedFilterBranch'
              - $ref: '#/components/schemas/PublicUnifiedEventsFilterBranch'
              - $ref: '#/components/schemas/PublicPropertyAssociationFilterBranch'
              - $ref: '#/components/schemas/PublicAssociationFilterBranch'
        shouldReEnroll:
          type: boolean
          description: >-
            Determines if objects should be re-enrolled when they meet the
            criteria again.
        type:
          type: string
          description: >-
            Specifies the type of enrollment criteria, which defaults to
            'LIST_BASED'.
          enum:
            - LIST_BASED
          default: LIST_BASED
        unEnrollObjectsNotMeetingCriteria:
          type: boolean
          description: >-
            Indicates whether objects not meeting the criteria should be
            unenrolled.
    ApiEventBasedEnrollmentCriteria:
      title: EVENT_BASED
      required:
        - eventFilterBranches
        - listMembershipFilterBranches
        - shouldReEnroll
        - type
      type: object
      properties:
        eventFilterBranches:
          type: array
          items:
            $ref: '#/components/schemas/PublicUnifiedEventsFilterBranch'
        listMembershipFilterBranches:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/PublicOrFilterBranch'
              - $ref: '#/components/schemas/PublicAndFilterBranch'
              - $ref: '#/components/schemas/PublicNotAllFilterBranch'
              - $ref: '#/components/schemas/PublicNotAnyFilterBranch'
              - $ref: '#/components/schemas/PublicRestrictedFilterBranch'
              - $ref: '#/components/schemas/PublicUnifiedEventsFilterBranch'
              - $ref: '#/components/schemas/PublicPropertyAssociationFilterBranch'
              - $ref: '#/components/schemas/PublicAssociationFilterBranch'
        refinementCriteria:
          description: Specifies additional criteria for refining the enrollment process.
          oneOf:
            - $ref: '#/components/schemas/PublicOrFilterBranch'
            - $ref: '#/components/schemas/PublicAndFilterBranch'
            - $ref: '#/components/schemas/PublicNotAllFilterBranch'
            - $ref: '#/components/schemas/PublicNotAnyFilterBranch'
            - $ref: '#/components/schemas/PublicRestrictedFilterBranch'
            - $ref: '#/components/schemas/PublicUnifiedEventsFilterBranch'
            - $ref: '#/components/schemas/PublicPropertyAssociationFilterBranch'
            - $ref: '#/components/schemas/PublicAssociationFilterBranch'
        shouldReEnroll:
          type: boolean
          description: >-
            Determines if objects should be re-enrolled when they meet the
            criteria again.
        type:
          type: string
          description: >-
            Specifies the type of enrollment criteria, which defaults to
            'EVENT_BASED'.
          enum:
            - EVENT_BASED
          default: EVENT_BASED
    ApiManualEnrollmentCriteria:
      title: MANUAL
      required:
        - shouldReEnroll
        - type
      type: object
      properties:
        shouldReEnroll:
          type: boolean
          description: Indicates whether the enrollment should be repeated.
        type:
          type: string
          description: Specifies the type of enrollment criteria, which is 'MANUAL'.
          enum:
            - MANUAL
          default: MANUAL
    ApiDatasetBasedEnrollmentCriteria:
      title: DATASET
      required:
        - datasetId
        - shouldReEnroll
        - type
      type: object
      properties:
        datasetId:
          type: integer
          format: int32
        shouldReEnroll:
          type: boolean
        subviewId:
          type: string
        type:
          type: string
          enum:
            - DATASET
          default: DATASET
    ApiDailyEnrollmentSchedule:
      title: DAILY
      required:
        - timeOfDay
        - type
      type: object
      properties:
        timeOfDay:
          $ref: '#/components/schemas/ApiTimeOfDay'
        type:
          type: string
          description: Specifies the type of enrollment schedule, which is 'DAILY'.
          enum:
            - DAILY
          default: DAILY
    ApiWeeklyEnrollmentSchedule:
      title: WEEKLY
      required:
        - daysOfWeek
        - timeOfDay
        - type
      type: object
      properties:
        daysOfWeek:
          type: array
          items:
            type: string
            enum:
              - MONDAY
              - TUESDAY
              - WEDNESDAY
              - THURSDAY
              - FRIDAY
              - SATURDAY
              - SUNDAY
        timeOfDay:
          $ref: '#/components/schemas/ApiTimeOfDay'
        type:
          type: string
          description: Indicates the type of enrollment schedule, which is 'WEEKLY'.
          enum:
            - WEEKLY
          default: WEEKLY
    ApiMonthlySpecificDaysEnrollmentSchedule:
      title: MONTHLY_SPECIFIC_DAYS
      required:
        - daysOfMonth
        - timeOfDay
        - type
      type: object
      properties:
        daysOfMonth:
          type: array
          items:
            type: integer
            format: int32
        timeOfDay:
          $ref: '#/components/schemas/ApiTimeOfDay'
        type:
          type: string
          description: >-
            Specifies the type of enrollment schedule, which is
            'MONTHLY_SPECIFIC_DAYS'.
          enum:
            - MONTHLY_SPECIFIC_DAYS
          default: MONTHLY_SPECIFIC_DAYS
    ApiMonthlyRelativeDaysEnrollmentSchedule:
      title: MONTHLY_RELATIVE_DAYS
      required:
        - monthlyRelativeDays
        - timeOfDay
        - type
      type: object
      properties:
        monthlyRelativeDays:
          type: string
          description: >-
            One of the possible relative days to enroll can be:
            LAST_DAY_OF_MONTH, or FIRST_MONDAY_OF_MONTH
          enum:
            - FIRST_MONDAY_OF_MONTH
            - LAST_DAY_OF_MONTH
        timeOfDay:
          $ref: '#/components/schemas/ApiTimeOfDay'
        type:
          type: string
          description: 'The type of schedule, always: MONTHLY_RELATIVE_DAYS'
          enum:
            - MONTHLY_RELATIVE_DAYS
          default: MONTHLY_RELATIVE_DAYS
    ApiYearlyEnrollmentSchedule:
      title: YEARLY
      required:
        - dayOfMonth
        - month
        - timeOfDay
        - type
      type: object
      properties:
        dayOfMonth:
          type: integer
          description: The day of the month for the yearly enrollment schedule.
          format: int32
        month:
          type: string
          description: >-
            The month for the yearly enrollment schedule, with accepted values
            including: APRIL, AUGUST, DECEMBER, FEBRUARY, JANUARY, JULY, JUNE,
            MARCH, MAY, NOVEMBER, OCTOBER, SEPTEMBER.
          enum:
            - APRIL
            - AUGUST
            - DECEMBER
            - FEBRUARY
            - JANUARY
            - JULY
            - JUNE
            - MARCH
            - MAY
            - NOVEMBER
            - OCTOBER
            - SEPTEMBER
        timeOfDay:
          $ref: '#/components/schemas/ApiTimeOfDay'
        type:
          type: string
          description: >-
            Indicates the type of enrollment schedule, which defaults to
            'YEARLY'.
          enum:
            - YEARLY
          default: YEARLY
    ApiPropertyBasedEnrollmentSchedule:
      title: PROPERTY_BASED
      required:
        - dateProperty
        - daysDelta
        - timeOfDay
        - type
        - yearly
      type: object
      properties:
        dateProperty:
          type: string
          description: The property used to determine the date for enrollment scheduling.
        daysDelta:
          type: integer
          description: >-
            The number of days to adjust the enrollment date relative to the
            dateProperty.
          format: int32
        timeOfDay:
          $ref: '#/components/schemas/ApiTimeOfDay'
        type:
          type: string
          description: >-
            Specifies the type of enrollment schedule, which is
            'PROPERTY_BASED'.
          enum:
            - PROPERTY_BASED
          default: PROPERTY_BASED
        yearly:
          type: boolean
          description: Indicates whether the enrollment schedule is set to repeat annually.
    ApiTimeWindow:
      required:
        - day
      type: object
      properties:
        day:
          type: string
          description: >-
            Specifies the day of the week for the time window, with accepted
            values being: FRIDAY, MONDAY, SATURDAY, SUNDAY, THURSDAY, TUESDAY,
            WEDNESDAY.
          enum:
            - FRIDAY
            - MONDAY
            - SATURDAY
            - SUNDAY
            - THURSDAY
            - TUESDAY
            - WEDNESDAY
        endTime:
          $ref: '#/components/schemas/ApiTimeOfDay'
        startTime:
          $ref: '#/components/schemas/ApiTimeOfDay'
    ApiBlockedDate:
      required:
        - dayOfMonth
        - month
      type: object
      properties:
        dayOfMonth:
          type: integer
          description: The day of the month for the blocked date.
          format: int32
        month:
          type: string
          description: >-
            The month of the blocked date, with accepted values including:
            APRIL, AUGUST, DECEMBER, FEBRUARY, JANUARY, JULY, JUNE, MARCH, MAY,
            NOVEMBER, OCTOBER, SEPTEMBER.
          enum:
            - APRIL
            - AUGUST
            - DECEMBER
            - FEBRUARY
            - JANUARY
            - JULY
            - JUNE
            - MARCH
            - MAY
            - NOVEMBER
            - OCTOBER
            - SEPTEMBER
        year:
          type: integer
          description: The year of the blocked date.
          format: int32
    ApiAssociationDataSource:
      title: ASSOCIATION
      required:
        - associationCategory
        - associationTypeId
        - name
        - objectTypeId
        - type
      type: object
      properties:
        associationCategory:
          type: string
          description: >-
            Defines the category of the association, with possible values being
            HUBSPOT_DEFINED, INTEGRATOR_DEFINED, or USER_DEFINED.
          enum:
            - HUBSPOT_DEFINED
            - INTEGRATOR_DEFINED
            - USER_DEFINED
            - WORK
        associationTypeId:
          type: integer
          description: The ID representing the type of association.
          format: int32
        name:
          type: string
          description: The name of the data source.
        objectTypeId:
          type: string
          description: >-
            Represents the ID of the object type associated with the data
            source.
        sortBy:
          $ref: '#/components/schemas/ApiSort'
        type:
          type: string
          description: Indicates the type of data source, which defaults to ASSOCIATION.
          enum:
            - ASSOCIATION
          default: ASSOCIATION
    ApiAssociationTimestampDataSource:
      title: ASSOCIATION_TIMESTAMP
      required:
        - associationCategory
        - associationTypeId
        - name
        - objectTypeId
        - type
      type: object
      properties:
        associationCategory:
          type: string
          description: >-
            Defines the category of the association, with possible values being
            HUBSPOT_DEFINED, INTEGRATOR_DEFINED, or USER_DEFINED.
          enum:
            - HUBSPOT_DEFINED
            - INTEGRATOR_DEFINED
            - USER_DEFINED
            - WORK
        associationTypeId:
          type: integer
          description: The ID representing the type of association.
          format: int32
        name:
          type: string
          description: Specifies the name of the data source.
        objectTypeId:
          type: string
          description: >-
            Represents the ID of the object type associated with the data
            source.
        type:
          type: string
          description: >-
            Indicates the type of the data source, which defaults to
            ASSOCIATION_TIMESTAMP.
          enum:
            - ASSOCIATION_TIMESTAMP
          default: ASSOCIATION_TIMESTAMP
    ApiStaticPropertyFilterDataSource:
      title: STATIC_PROPERTY_FILTER
      required:
        - name
        - propertyName
        - staticValue
        - type
      type: object
      properties:
        name:
          type: string
          description: Defines the name of the data source.
        propertyName:
          type: string
          description: >-
            Specifies the name of the property used in the static property
            filter.
        sortBy:
          $ref: '#/components/schemas/ApiSort'
        staticValue:
          type: string
          description: Represents the static value used in the property filter.
        type:
          type: string
          description: >-
            Indicates the type of data source, which defaults to
            STATIC_PROPERTY_FILTER.
          enum:
            - STATIC_PROPERTY_FILTER
          default: STATIC_PROPERTY_FILTER
    ApiEnrolledRecordPropertyFilterDataSource:
      title: ENROLLED_RECORD_PROPERTY_FILTER
      required:
        - name
        - propertyName
        - recordFieldName
        - type
      type: object
      properties:
        name:
          type: string
          description: Defines the name of the data source.
        propertyName:
          type: string
          description: >-
            Specifies the name of the property used in the enrolled record
            property filter.
        recordFieldName:
          type: string
          description: The name of the field in the record that is being filtered.
        sortBy:
          $ref: '#/components/schemas/ApiSort'
        type:
          type: string
          description: >-
            Indicates the type of data source, which defaults to
            ENROLLED_RECORD_PROPERTY_FILTER.
          enum:
            - ENROLLED_RECORD_PROPERTY_FILTER
          default: ENROLLED_RECORD_PROPERTY_FILTER
    ApiDatasetFieldPropertyFilterDataSource:
      title: DATASET_FIELD_PROPERTY_FILTER
      required:
        - datasetFieldName
        - name
        - propertyName
        - type
      type: object
      properties:
        datasetFieldName:
          type: string
          description: Specifies the name of the dataset field used in the property filter.
        name:
          type: string
          description: Defines the name of the data source.
        propertyName:
          type: string
          description: >-
            Specifies the name of the property used in the dataset field
            property filter.
        sortBy:
          $ref: '#/components/schemas/ApiSort'
        type:
          type: string
          description: >-
            Indicates the type of data source, which defaults to
            DATASET_FIELD_PROPERTY_FILTER.
          enum:
            - DATASET_FIELD_PROPERTY_FILTER
          default: DATASET_FIELD_PROPERTY_FILTER
    ApiEnrolledArgumentPropertyFilterDataSource:
      title: ENROLLED_ARGUMENT_PROPERTY_FILTER
      required:
        - argumentName
        - name
        - propertyName
        - type
      type: object
      properties:
        argumentName:
          type: string
          description: >-
            The name of the argument used in the enrolled argument property
            filter.
        name:
          type: string
          description: Defines the name of the data source.
        propertyName:
          type: string
          description: >-
            Specifies the name of the property used in the enrolled argument
            property filter.
        sortBy:
          $ref: '#/components/schemas/ApiSort'
        type:
          type: string
          description: >-
            Indicates the type of data source, which defaults to
            ENROLLED_ARGUMENT_PROPERTY_FILTER.
          enum:
            - ENROLLED_ARGUMENT_PROPERTY_FILTER
          default: ENROLLED_ARGUMENT_PROPERTY_FILTER
    PublicOrFilterBranch:
      title: OR
      required:
        - filterBranchOperator
        - filterBranchType
        - filterBranches
        - filters
      type: object
      properties:
        filterBranchOperator:
          type: string
          description: >-
            Defines the logical operator used to combine multiple filter
            branches.
        filterBranchType:
          type: string
          description: Indicates the type of filter branch, defaulting to OR.
          enum:
            - OR
          default: OR
        filterBranches:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/PublicOrFilterBranch'
              - $ref: '#/components/schemas/PublicAndFilterBranch'
              - $ref: '#/components/schemas/PublicNotAllFilterBranch'
              - $ref: '#/components/schemas/PublicNotAnyFilterBranch'
              - $ref: '#/components/schemas/PublicRestrictedFilterBranch'
              - $ref: '#/components/schemas/PublicUnifiedEventsFilterBranch'
              - $ref: '#/components/schemas/PublicPropertyAssociationFilterBranch'
              - $ref: '#/components/schemas/PublicAssociationFilterBranch'
        filters:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/PublicPropertyFilter'
              - $ref: '#/components/schemas/PublicAssociationInListFilter'
              - $ref: '#/components/schemas/PublicPageViewAnalyticsFilter'
              - $ref: '#/components/schemas/PublicCtaAnalyticsFilter'
              - $ref: '#/components/schemas/PublicEventAnalyticsFilter'
              - $ref: '#/components/schemas/PublicFormSubmissionFilter'
              - $ref: '#/components/schemas/PublicFormSubmissionOnPageFilter'
              - $ref: '#/components/schemas/PublicIntegrationEventFilter'
              - $ref: '#/components/schemas/PublicEmailSubscriptionFilter'
              - $ref: '#/components/schemas/PublicCommunicationSubscriptionFilter'
              - $ref: '#/components/schemas/PublicCampaignInfluencedFilter'
              - $ref: '#/components/schemas/PublicSurveyMonkeyFilter'
              - $ref: '#/components/schemas/PublicSurveyMonkeyValueFilter'
              - $ref: '#/components/schemas/PublicWebinarFilter'
              - $ref: '#/components/schemas/PublicEmailEventFilter'
              - $ref: '#/components/schemas/PublicPrivacyAnalyticsFilter'
              - $ref: '#/components/schemas/PublicAdsSearchFilter'
              - $ref: '#/components/schemas/PublicAdsTimeFilter'
              - $ref: '#/components/schemas/PublicInListFilter'
              - $ref: '#/components/schemas/PublicNumAssociationsFilter'
              - $ref: '#/components/schemas/PublicUnifiedEventsFilter'
              - $ref: '#/components/schemas/PublicPropertyAssociationInListFilter'
              - $ref: '#/components/schemas/PublicConstantFilter'
    PublicAndFilterBranch:
      title: AND
      required:
        - filterBranchOperator
        - filterBranchType
        - filterBranches
        - filters
      type: object
      properties:
        filterBranchOperator:
          type: string
          description: >-
            Defines the logical operator used to combine multiple filter
            branches.
        filterBranchType:
          type: string
          description: Indicates the type of filter branch, defaulting to AND.
          enum:
            - AND
          default: AND
        filterBranches:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/PublicOrFilterBranch'
              - $ref: '#/components/schemas/PublicAndFilterBranch'
              - $ref: '#/components/schemas/PublicNotAllFilterBranch'
              - $ref: '#/components/schemas/PublicNotAnyFilterBranch'
              - $ref: '#/components/schemas/PublicRestrictedFilterBranch'
              - $ref: '#/components/schemas/PublicUnifiedEventsFilterBranch'
              - $ref: '#/components/schemas/PublicPropertyAssociationFilterBranch'
              - $ref: '#/components/schemas/PublicAssociationFilterBranch'
        filters:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/PublicPropertyFilter'
              - $ref: '#/components/schemas/PublicAssociationInListFilter'
              - $ref: '#/components/schemas/PublicPageViewAnalyticsFilter'
              - $ref: '#/components/schemas/PublicCtaAnalyticsFilter'
              - $ref: '#/components/schemas/PublicEventAnalyticsFilter'
              - $ref: '#/components/schemas/PublicFormSubmissionFilter'
              - $ref: '#/components/schemas/PublicFormSubmissionOnPageFilter'
              - $ref: '#/components/schemas/PublicIntegrationEventFilter'
              - $ref: '#/components/schemas/PublicEmailSubscriptionFilter'
              - $ref: '#/components/schemas/PublicCommunicationSubscriptionFilter'
              - $ref: '#/components/schemas/PublicCampaignInfluencedFilter'
              - $ref: '#/components/schemas/PublicSurveyMonkeyFilter'
              - $ref: '#/components/schemas/PublicSurveyMonkeyValueFilter'
              - $ref: '#/components/schemas/PublicWebinarFilter'
              - $ref: '#/components/schemas/PublicEmailEventFilter'
              - $ref: '#/components/schemas/PublicPrivacyAnalyticsFilter'
              - $ref: '#/components/schemas/PublicAdsSearchFilter'
              - $ref: '#/components/schemas/PublicAdsTimeFilter'
              - $ref: '#/components/schemas/PublicInListFilter'
              - $ref: '#/components/schemas/PublicNumAssociationsFilter'
              - $ref: '#/components/schemas/PublicUnifiedEventsFilter'
              - $ref: '#/components/schemas/PublicPropertyAssociationInListFilter'
              - $ref: '#/components/schemas/PublicConstantFilter'
    PublicNotAllFilterBranch:
      title: NOT_ALL
      required:
        - filterBranchOperator
        - filterBranchType
        - filterBranches
        - filters
      type: object
      properties:
        filterBranchOperator:
          type: string
          description: >-
            Defines the logical operator used to combine multiple filter
            branches.
        filterBranchType:
          type: string
          description: Indicates the type of filter branch, defaulting to NOT_ALL.
          enum:
            - NOT_ALL
          default: NOT_ALL
        filterBranches:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/PublicOrFilterBranch'
              - $ref: '#/components/schemas/PublicAndFilterBranch'
              - $ref: '#/components/schemas/PublicNotAllFilterBranch'
              - $ref: '#/components/schemas/PublicNotAnyFilterBranch'
              - $ref: '#/components/schemas/PublicRestrictedFilterBranch'
              - $ref: '#/components/schemas/PublicUnifiedEventsFilterBranch'
              - $ref: '#/components/schemas/PublicPropertyAssociationFilterBranch'
              - $ref: '#/components/schemas/PublicAssociationFilterBranch'
        filters:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/PublicPropertyFilter'
              - $ref: '#/components/schemas/PublicAssociationInListFilter'
              - $ref: '#/components/schemas/PublicPageViewAnalyticsFilter'
              - $ref: '#/components/schemas/PublicCtaAnalyticsFilter'
              - $ref: '#/components/schemas/PublicEventAnalyticsFilter'
              - $ref: '#/components/schemas/PublicFormSubmissionFilter'
              - $ref: '#/components/schemas/PublicFormSubmissionOnPageFilter'
              - $ref: '#/components/schemas/PublicIntegrationEventFilter'
              - $ref: '#/components/schemas/PublicEmailSubscriptionFilter'
              - $ref: '#/components/schemas/PublicCommunicationSubscriptionFilter'
              - $ref: '#/components/schemas/PublicCampaignInfluencedFilter'
              - $ref: '#/components/schemas/PublicSurveyMonkeyFilter'
              - $ref: '#/components/schemas/PublicSurveyMonkeyValueFilter'
              - $ref: '#/components/schemas/PublicWebinarFilter'
              - $ref: '#/components/schemas/PublicEmailEventFilter'
              - $ref: '#/components/schemas/PublicPrivacyAnalyticsFilter'
              - $ref: '#/components/schemas/PublicAdsSearchFilter'
              - $ref: '#/components/schemas/PublicAdsTimeFilter'
              - $ref: '#/components/schemas/PublicInListFilter'
              - $ref: '#/components/schemas/PublicNumAssociationsFilter'
              - $ref: '#/components/schemas/PublicUnifiedEventsFilter'
              - $ref: '#/components/schemas/PublicPropertyAssociationInListFilter'
              - $ref: '#/components/schemas/PublicConstantFilter'
    PublicNotAnyFilterBranch:
      title: NOT_ANY
      required:
        - filterBranchOperator
        - filterBranchType
        - filterBranches
        - filters
      type: object
      properties:
        filterBranchOperator:
          type: string
          description: >-
            Defines the logical operator used to combine multiple filter
            branches.
        filterBranchType:
          type: string
          description: Indicates the type of filter branch, defaulting to NOT_ANY.
          enum:
            - NOT_ANY
          default: NOT_ANY
        filterBranches:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/PublicOrFilterBranch'
              - $ref: '#/components/schemas/PublicAndFilterBranch'
              - $ref: '#/components/schemas/PublicNotAllFilterBranch'
              - $ref: '#/components/schemas/PublicNotAnyFilterBranch'
              - $ref: '#/components/schemas/PublicRestrictedFilterBranch'
              - $ref: '#/components/schemas/PublicUnifiedEventsFilterBranch'
              - $ref: '#/components/schemas/PublicPropertyAssociationFilterBranch'
              - $ref: '#/components/schemas/PublicAssociationFilterBranch'
        filters:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/PublicPropertyFilter'
              - $ref: '#/components/schemas/PublicAssociationInListFilter'
              - $ref: '#/components/schemas/PublicPageViewAnalyticsFilter'
              - $ref: '#/components/schemas/PublicCtaAnalyticsFilter'
              - $ref: '#/components/schemas/PublicEventAnalyticsFilter'
              - $ref: '#/components/schemas/PublicFormSubmissionFilter'
              - $ref: '#/components/schemas/PublicFormSubmissionOnPageFilter'
              - $ref: '#/components/schemas/PublicIntegrationEventFilter'
              - $ref: '#/components/schemas/PublicEmailSubscriptionFilter'
              - $ref: '#/components/schemas/PublicCommunicationSubscriptionFilter'
              - $ref: '#/components/schemas/PublicCampaignInfluencedFilter'
              - $ref: '#/components/schemas/PublicSurveyMonkeyFilter'
              - $ref: '#/components/schemas/PublicSurveyMonkeyValueFilter'
              - $ref: '#/components/schemas/PublicWebinarFilter'
              - $ref: '#/components/schemas/PublicEmailEventFilter'
              - $ref: '#/components/schemas/PublicPrivacyAnalyticsFilter'
              - $ref: '#/components/schemas/PublicAdsSearchFilter'
              - $ref: '#/components/schemas/PublicAdsTimeFilter'
              - $ref: '#/components/schemas/PublicInListFilter'
              - $ref: '#/components/schemas/PublicNumAssociationsFilter'
              - $ref: '#/components/schemas/PublicUnifiedEventsFilter'
              - $ref: '#/components/schemas/PublicPropertyAssociationInListFilter'
              - $ref: '#/components/schemas/PublicConstantFilter'
    PublicRestrictedFilterBranch:
      title: RESTRICTED
      required:
        - filterBranchOperator
        - filterBranchType
        - filterBranches
        - filters
      type: object
      properties:
        filterBranchOperator:
          type: string
          description: >-
            Defines the logical operator used to combine multiple filter
            branches.
        filterBranchType:
          type: string
          description: Indicates the type of filter branch, defaulting to RESTRICTED.
          enum:
            - RESTRICTED
          default: RESTRICTED
        filterBranches:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/PublicOrFilterBranch'
              - $ref: '#/components/schemas/PublicAndFilterBranch'
              - $ref: '#/components/schemas/PublicNotAllFilterBranch'
              - $ref: '#/components/schemas/PublicNotAnyFilterBranch'
              - $ref: '#/components/schemas/PublicRestrictedFilterBranch'
              - $ref: '#/components/schemas/PublicUnifiedEventsFilterBranch'
              - $ref: '#/components/schemas/PublicPropertyAssociationFilterBranch'
              - $ref: '#/components/schemas/PublicAssociationFilterBranch'
        filters:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/PublicPropertyFilter'
              - $ref: '#/components/schemas/PublicAssociationInListFilter'
              - $ref: '#/components/schemas/PublicPageViewAnalyticsFilter'
              - $ref: '#/components/schemas/PublicCtaAnalyticsFilter'
              - $ref: '#/components/schemas/PublicEventAnalyticsFilter'
              - $ref: '#/components/schemas/PublicFormSubmissionFilter'
              - $ref: '#/components/schemas/PublicFormSubmissionOnPageFilter'
              - $ref: '#/components/schemas/PublicIntegrationEventFilter'
              - $ref: '#/components/schemas/PublicEmailSubscriptionFilter'
              - $ref: '#/components/schemas/PublicCommunicationSubscriptionFilter'
              - $ref: '#/components/schemas/PublicCampaignInfluencedFilter'
              - $ref: '#/components/schemas/PublicSurveyMonkeyFilter'
              - $ref: '#/components/schemas/PublicSurveyMonkeyValueFilter'
              - $ref: '#/components/schemas/PublicWebinarFilter'
              - $ref: '#/components/schemas/PublicEmailEventFilter'
              - $ref: '#/components/schemas/PublicPrivacyAnalyticsFilter'
              - $ref: '#/components/schemas/PublicAdsSearchFilter'
              - $ref: '#/components/schemas/PublicAdsTimeFilter'
              - $ref: '#/components/schemas/PublicInListFilter'
              - $ref: '#/components/schemas/PublicNumAssociationsFilter'
              - $ref: '#/components/schemas/PublicUnifiedEventsFilter'
              - $ref: '#/components/schemas/PublicPropertyAssociationInListFilter'
              - $ref: '#/components/schemas/PublicConstantFilter'
    PublicUnifiedEventsFilterBranch:
      title: UNIFIED_EVENTS
      required:
        - eventTypeId
        - filterBranchOperator
        - filterBranchType
        - filterBranches
        - filters
        - operator
      type: object
      properties:
        coalescingRefineBy:
          description: >-
            Defines the criteria for refining events, using one of several
            possible schemas such as PublicNumOccurrencesRefineBy or
            PublicRelativeComparativeTimestampRefineBy.
          oneOf:
            - $ref: '#/components/schemas/PublicNumOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicSetOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicRelativeComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicRelativeRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAllHistoryRefineBy'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
        eventTypeId:
          type: string
          description: >-
            The identifier for the type of event associated with the unified
            events filter branch.
        filterBranchOperator:
          type: string
          description: >-
            Defines the logical operator used to combine multiple filter
            branches.
        filterBranchType:
          type: string
          description: Indicates the type of filter branch, defaulting to UNIFIED_EVENTS.
          enum:
            - UNIFIED_EVENTS
          default: UNIFIED_EVENTS
        filterBranches:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/PublicOrFilterBranch'
              - $ref: '#/components/schemas/PublicAndFilterBranch'
              - $ref: '#/components/schemas/PublicNotAllFilterBranch'
              - $ref: '#/components/schemas/PublicNotAnyFilterBranch'
              - $ref: '#/components/schemas/PublicRestrictedFilterBranch'
              - $ref: '#/components/schemas/PublicUnifiedEventsFilterBranch'
              - $ref: '#/components/schemas/PublicPropertyAssociationFilterBranch'
              - $ref: '#/components/schemas/PublicAssociationFilterBranch'
        filters:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/PublicPropertyFilter'
              - $ref: '#/components/schemas/PublicAssociationInListFilter'
              - $ref: '#/components/schemas/PublicPageViewAnalyticsFilter'
              - $ref: '#/components/schemas/PublicCtaAnalyticsFilter'
              - $ref: '#/components/schemas/PublicEventAnalyticsFilter'
              - $ref: '#/components/schemas/PublicFormSubmissionFilter'
              - $ref: '#/components/schemas/PublicFormSubmissionOnPageFilter'
              - $ref: '#/components/schemas/PublicIntegrationEventFilter'
              - $ref: '#/components/schemas/PublicEmailSubscriptionFilter'
              - $ref: '#/components/schemas/PublicCommunicationSubscriptionFilter'
              - $ref: '#/components/schemas/PublicCampaignInfluencedFilter'
              - $ref: '#/components/schemas/PublicSurveyMonkeyFilter'
              - $ref: '#/components/schemas/PublicSurveyMonkeyValueFilter'
              - $ref: '#/components/schemas/PublicWebinarFilter'
              - $ref: '#/components/schemas/PublicEmailEventFilter'
              - $ref: '#/components/schemas/PublicPrivacyAnalyticsFilter'
              - $ref: '#/components/schemas/PublicAdsSearchFilter'
              - $ref: '#/components/schemas/PublicAdsTimeFilter'
              - $ref: '#/components/schemas/PublicInListFilter'
              - $ref: '#/components/schemas/PublicNumAssociationsFilter'
              - $ref: '#/components/schemas/PublicUnifiedEventsFilter'
              - $ref: '#/components/schemas/PublicPropertyAssociationInListFilter'
              - $ref: '#/components/schemas/PublicConstantFilter'
        operator:
          type: string
          description: >-
            Specifies the operator used in the unified events filter branch,
            with accepted values being HAS_COMPLETED or HAS_NOT_COMPLETED.
          enum:
            - HAS_COMPLETED
            - HAS_NOT_COMPLETED
        pruningRefineBy:
          oneOf:
            - $ref: '#/components/schemas/PublicNumOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicSetOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicRelativeComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicRelativeRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAllHistoryRefineBy'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
    PublicPropertyAssociationFilterBranch:
      title: PROPERTY_ASSOCIATION
      required:
        - filterBranchOperator
        - filterBranchType
        - filterBranches
        - filters
        - objectTypeId
        - operator
        - propertyWithObjectId
      type: object
      properties:
        filterBranchOperator:
          type: string
          description: >-
            Defines the logical operator used to combine multiple filter
            branches.
        filterBranchType:
          type: string
          description: >-
            Indicates the type of filter branch, defaulting to
            PROPERTY_ASSOCIATION.
          enum:
            - PROPERTY_ASSOCIATION
          default: PROPERTY_ASSOCIATION
        filterBranches:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/PublicOrFilterBranch'
              - $ref: '#/components/schemas/PublicAndFilterBranch'
              - $ref: '#/components/schemas/PublicNotAllFilterBranch'
              - $ref: '#/components/schemas/PublicNotAnyFilterBranch'
              - $ref: '#/components/schemas/PublicRestrictedFilterBranch'
              - $ref: '#/components/schemas/PublicUnifiedEventsFilterBranch'
              - $ref: '#/components/schemas/PublicPropertyAssociationFilterBranch'
              - $ref: '#/components/schemas/PublicAssociationFilterBranch'
        filters:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/PublicPropertyFilter'
              - $ref: '#/components/schemas/PublicAssociationInListFilter'
              - $ref: '#/components/schemas/PublicPageViewAnalyticsFilter'
              - $ref: '#/components/schemas/PublicCtaAnalyticsFilter'
              - $ref: '#/components/schemas/PublicEventAnalyticsFilter'
              - $ref: '#/components/schemas/PublicFormSubmissionFilter'
              - $ref: '#/components/schemas/PublicFormSubmissionOnPageFilter'
              - $ref: '#/components/schemas/PublicIntegrationEventFilter'
              - $ref: '#/components/schemas/PublicEmailSubscriptionFilter'
              - $ref: '#/components/schemas/PublicCommunicationSubscriptionFilter'
              - $ref: '#/components/schemas/PublicCampaignInfluencedFilter'
              - $ref: '#/components/schemas/PublicSurveyMonkeyFilter'
              - $ref: '#/components/schemas/PublicSurveyMonkeyValueFilter'
              - $ref: '#/components/schemas/PublicWebinarFilter'
              - $ref: '#/components/schemas/PublicEmailEventFilter'
              - $ref: '#/components/schemas/PublicPrivacyAnalyticsFilter'
              - $ref: '#/components/schemas/PublicAdsSearchFilter'
              - $ref: '#/components/schemas/PublicAdsTimeFilter'
              - $ref: '#/components/schemas/PublicInListFilter'
              - $ref: '#/components/schemas/PublicNumAssociationsFilter'
              - $ref: '#/components/schemas/PublicUnifiedEventsFilter'
              - $ref: '#/components/schemas/PublicPropertyAssociationInListFilter'
              - $ref: '#/components/schemas/PublicConstantFilter'
        objectTypeId:
          type: string
          description: Identifies the type of object associated with the filter branch.
        operator:
          type: string
          description: Specifies the operator applied to the property association filter.
        propertyWithObjectId:
          type: string
          description: Specifies the property that includes the object ID for the filter.
    PublicAssociationFilterBranch:
      title: ASSOCIATION
      required:
        - associationCategory
        - associationTypeId
        - filterBranchOperator
        - filterBranchType
        - filterBranches
        - filters
        - objectTypeId
        - operator
      type: object
      properties:
        associationCategory:
          type: string
          description: Defines the category of the association.
        associationTypeId:
          type: integer
          description: The ID representing the type of association.
          format: int32
        filterBranchOperator:
          type: string
          description: >-
            Defines the logical operator used to combine multiple filter
            branches.
        filterBranchType:
          type: string
          description: Indicates the type of filter branch, defaulting to ASSOCIATION.
          enum:
            - ASSOCIATION
          default: ASSOCIATION
        filterBranches:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/PublicOrFilterBranch'
              - $ref: '#/components/schemas/PublicAndFilterBranch'
              - $ref: '#/components/schemas/PublicNotAllFilterBranch'
              - $ref: '#/components/schemas/PublicNotAnyFilterBranch'
              - $ref: '#/components/schemas/PublicRestrictedFilterBranch'
              - $ref: '#/components/schemas/PublicUnifiedEventsFilterBranch'
              - $ref: '#/components/schemas/PublicPropertyAssociationFilterBranch'
              - $ref: '#/components/schemas/PublicAssociationFilterBranch'
        filters:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/PublicPropertyFilter'
              - $ref: '#/components/schemas/PublicAssociationInListFilter'
              - $ref: '#/components/schemas/PublicPageViewAnalyticsFilter'
              - $ref: '#/components/schemas/PublicCtaAnalyticsFilter'
              - $ref: '#/components/schemas/PublicEventAnalyticsFilter'
              - $ref: '#/components/schemas/PublicFormSubmissionFilter'
              - $ref: '#/components/schemas/PublicFormSubmissionOnPageFilter'
              - $ref: '#/components/schemas/PublicIntegrationEventFilter'
              - $ref: '#/components/schemas/PublicEmailSubscriptionFilter'
              - $ref: '#/components/schemas/PublicCommunicationSubscriptionFilter'
              - $ref: '#/components/schemas/PublicCampaignInfluencedFilter'
              - $ref: '#/components/schemas/PublicSurveyMonkeyFilter'
              - $ref: '#/components/schemas/PublicSurveyMonkeyValueFilter'
              - $ref: '#/components/schemas/PublicWebinarFilter'
              - $ref: '#/components/schemas/PublicEmailEventFilter'
              - $ref: '#/components/schemas/PublicPrivacyAnalyticsFilter'
              - $ref: '#/components/schemas/PublicAdsSearchFilter'
              - $ref: '#/components/schemas/PublicAdsTimeFilter'
              - $ref: '#/components/schemas/PublicInListFilter'
              - $ref: '#/components/schemas/PublicNumAssociationsFilter'
              - $ref: '#/components/schemas/PublicUnifiedEventsFilter'
              - $ref: '#/components/schemas/PublicPropertyAssociationInListFilter'
              - $ref: '#/components/schemas/PublicConstantFilter'
        objectTypeId:
          type: string
          description: >-
            Represents the ID of the object type associated with the filter
            branch.
        operator:
          type: string
          description: Specifies the operator applied to the association filter.
    ApiContactPropertyAnchor:
      title: CONTACT_PROPERTY_ANCHOR
      required:
        - contactProperty
        - type
      type: object
      properties:
        contactProperty:
          type: string
          description: Specifies the contact property associated with the anchor.
        type:
          type: string
          description: >-
            Indicates the type of the contact property anchor, which defaults to
            CONTACT_PROPERTY_ANCHOR.
          enum:
            - CONTACT_PROPERTY_ANCHOR
          default: CONTACT_PROPERTY_ANCHOR
    ApiStaticDateAnchor:
      title: STATIC_DATE_ANCHOR
      required:
        - dayOfMonth
        - month
        - type
      type: object
      properties:
        dayOfMonth:
          type: integer
          description: The day of the month for the static date anchor.
          format: int32
        month:
          type: string
          description: >-
            The month component of the static date anchor, with accepted values
            including: APRIL, AUGUST, DECEMBER, FEBRUARY, JANUARY, JULY, JUNE,
            MARCH, MAY, NOVEMBER, OCTOBER, SEPTEMBER.
          enum:
            - APRIL
            - AUGUST
            - DECEMBER
            - FEBRUARY
            - JANUARY
            - JULY
            - JUNE
            - MARCH
            - MAY
            - NOVEMBER
            - OCTOBER
            - SEPTEMBER
        type:
          type: string
          description: >-
            Indicates the type of the date anchor, which defaults to
            STATIC_DATE_ANCHOR.
          enum:
            - STATIC_DATE_ANCHOR
          default: STATIC_DATE_ANCHOR
        year:
          type: integer
          description: The year component of the static date anchor.
          format: int32
    ApiUnEnrollmentSetting:
      required:
        - flowIds
        - type
      type: object
      properties:
        flowIds:
          type: array
          items:
            type: string
        type:
          type: string
          description: >-
            Specifies the type of unenrollment setting, with possible values
            being ALL or SELECTIVE.
          enum:
            - ALL
            - SELECTIVE
    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
    ApiConnection:
      required:
        - edgeType
        - nextActionId
      type: object
      properties:
        edgeType:
          type: string
          description: >-
            Specifies the type of connection between actions in the automation
            flow.
          enum:
            - GOTO
            - STANDARD
        nextActionId:
          type: string
          description: The identifier for the subsequent action in the automation sequence.
    ApiActionDataValue:
      title: FIELD_DATA
      required:
        - actionId
        - dataKey
        - type
      type: object
      properties:
        actionId:
          type: string
          description: The unique identifier for the action associated with the data value.
        dataKey:
          type: string
          description: The key used to identify the specific data value within the action.
        type:
          type: string
          description: Indicates the type of data value, which defaults to FIELD_DATA.
          enum:
            - FIELD_DATA
          default: FIELD_DATA
    ApiObjectPropertyValue:
      title: OBJECT_PROPERTY
      required:
        - propertyName
        - type
      type: object
      properties:
        propertyName:
          type: string
          description: Specifies the name of the property used in the object.
        type:
          type: string
          description: >-
            Indicates the type of the object property, which defaults to
            OBJECT_PROPERTY.
          enum:
            - OBJECT_PROPERTY
          default: OBJECT_PROPERTY
    ApiStaticValue:
      title: STATIC_VALUE
      required:
        - staticValue
        - type
      type: object
      properties:
        staticValue:
          type: string
          description: >-
            The specific static value that is used within the context of the
            API.
        type:
          type: string
          description: Indicates the type of the value, which defaults to STATIC_VALUE.
          enum:
            - STATIC_VALUE
          default: STATIC_VALUE
    ApiRelativeDateTimeValue:
      title: RELATIVE_DATETIME
      required:
        - timeDelay
        - type
      type: object
      properties:
        timeDelay:
          $ref: '#/components/schemas/ApiTimeDelay'
        type:
          type: string
          description: >-
            Indicates the type of the value, which defaults to
            RELATIVE_DATETIME.
          enum:
            - RELATIVE_DATETIME
          default: RELATIVE_DATETIME
    ApiTimestampValue:
      title: TIMESTAMP
      required:
        - timestampType
        - type
      type: object
      properties:
        timestampType:
          type: string
          description: >-
            Specifies the type of timestamp, with the accepted value being
            EXECUTION_TIME.
          enum:
            - EXECUTION_TIME
        type:
          type: string
          description: >-
            Indicates the type of the timestamp value, which defaults to
            TIMESTAMP.
          enum:
            - TIMESTAMP
          default: TIMESTAMP
    ApiIncrementValue:
      title: INCREMENT
      required:
        - incrementAmount
        - type
      type: object
      properties:
        incrementAmount:
          type: number
          description: Specifies the amount to increment.
        type:
          type: string
          description: >-
            Indicates the type of the increment value, which defaults to
            INCREMENT.
          enum:
            - INCREMENT
          default: INCREMENT
    ApiFetchedObjectPropertyValue:
      title: FETCHED_OBJECT_PROPERTY
      required:
        - propertyToken
        - type
      type: object
      properties:
        propertyToken:
          type: string
          description: >-
            The token used to identify the specific property of the fetched
            object.
        type:
          type: string
          description: >-
            Indicates the type of the fetched object property, which defaults to
            FETCHED_OBJECT_PROPERTY.
          enum:
            - FETCHED_OBJECT_PROPERTY
          default: FETCHED_OBJECT_PROPERTY
    ApiAppendObjectPropertyValue:
      title: APPEND_OBJECT_PROPERTY
      required:
        - appendPropertyName
        - type
      type: object
      properties:
        appendPropertyName:
          type: string
          description: The name of the property to which a value will be appended.
        type:
          type: string
          description: >-
            Indicates the type of the action, which defaults to
            APPEND_OBJECT_PROPERTY.
          enum:
            - APPEND_OBJECT_PROPERTY
          default: APPEND_OBJECT_PROPERTY
    ApiStaticAppendValue:
      title: STATIC_APPEND_VALUE
      required:
        - staticAppendValue
        - type
      type: object
      properties:
        staticAppendValue:
          type: string
          description: The value that will be appended to a specified property.
        type:
          type: string
          description: >-
            Indicates the type of the append action, which defaults to
            STATIC_APPEND_VALUE.
          enum:
            - STATIC_APPEND_VALUE
          default: STATIC_APPEND_VALUE
    ApiEnrollmentEventPropertyValue:
      title: ENROLLMENT_EVENT_PROPERTY
      required:
        - enrollmentEventPropertyToken
        - type
      type: object
      properties:
        enrollmentEventPropertyToken:
          type: string
          description: The token used to identify the specific enrollment event property.
        type:
          type: string
          description: >-
            Indicates the type of the enrollment event property, which defaults
            to ENROLLMENT_EVENT_PROPERTY.
          enum:
            - ENROLLMENT_EVENT_PROPERTY
          default: ENROLLMENT_EVENT_PROPERTY
    ApiStaticBranch:
      required:
        - branchValue
      type: object
      properties:
        branchValue:
          type: string
          description: Specifies the value associated with the static branch.
        connection:
          $ref: '#/components/schemas/ApiConnection'
    ApiListBranch:
      type: object
      properties:
        branchName:
          type: string
          description: Specifies the name of the branch.
        connection:
          $ref: '#/components/schemas/ApiConnection'
        filterBranch:
          description: >-
            Defines the filter criteria for the branch, using logical operators
            and conditions.
          oneOf:
            - $ref: '#/components/schemas/PublicOrFilterBranch'
            - $ref: '#/components/schemas/PublicAndFilterBranch'
            - $ref: '#/components/schemas/PublicNotAllFilterBranch'
            - $ref: '#/components/schemas/PublicNotAnyFilterBranch'
            - $ref: '#/components/schemas/PublicRestrictedFilterBranch'
            - $ref: '#/components/schemas/PublicUnifiedEventsFilterBranch'
            - $ref: '#/components/schemas/PublicPropertyAssociationFilterBranch'
            - $ref: '#/components/schemas/PublicAssociationFilterBranch'
    ApiABTestBranch:
      required:
        - connection
      type: object
      properties:
        connection:
          $ref: '#/components/schemas/ApiConnection'
        percentage:
          type: integer
          format: int32
    ApiInputVariable:
      required:
        - name
        - value
      type: object
      properties:
        name:
          type: string
          description: The name of the input variable.
        value:
          description: >-
            The value associated with the input variable, which can be of
            various types such as action data, object property, static value,
            relative date-time, timestamp, increment value, fetched object
            property, appended object property, static appended value, or
            enrollment event property.
          oneOf:
            - $ref: '#/components/schemas/ApiActionDataValue'
            - $ref: '#/components/schemas/ApiObjectPropertyValue'
            - $ref: '#/components/schemas/ApiStaticValue'
            - $ref: '#/components/schemas/ApiRelativeDateTimeValue'
            - $ref: '#/components/schemas/ApiTimestampValue'
            - $ref: '#/components/schemas/ApiIncrementValue'
            - $ref: '#/components/schemas/ApiFetchedObjectPropertyValue'
            - $ref: '#/components/schemas/ApiAppendObjectPropertyValue'
            - $ref: '#/components/schemas/ApiStaticAppendValue'
            - $ref: '#/components/schemas/ApiEnrollmentEventPropertyValue'
    ApiEnumerationOutputField:
      title: ENUMERATION
      required:
        - name
        - options
        - type
      type: object
      properties:
        name:
          type: string
          description: The name of the enumeration output field.
        options:
          type: array
          items:
            type: string
        type:
          type: string
          description: Specifies that the type of the field is 'ENUMERATION'.
          enum:
            - ENUMERATION
          default: ENUMERATION
    ApiAuthKeyWebhookAuthSettings:
      title: AUTH_KEY
      required:
        - location
        - name
        - secretName
        - type
      type: object
      properties:
        location:
          type: string
          description: >-
            Specifies where the authentication key is located, with possible
            values being HEADER or QUERY_PARAM.
          enum:
            - HEADER
            - QUERY_PARAM
        name:
          type: string
          description: The name associated with the authentication key.
        secretName:
          type: string
          description: The name of the secret used for authentication.
        type:
          type: string
          description: Indicates the type of authentication, which defaults to AUTH_KEY.
          enum:
            - AUTH_KEY
          default: AUTH_KEY
    ApiSignatureWebhookAuthSettings:
      title: SIGNATURE
      required:
        - appId
        - type
      type: object
      properties:
        appId:
          type: integer
          description: The HubSpot appId that is being used to auth this webhook call
          format: int32
        type:
          type: string
          description: 'The type of auth: SIGNATURE'
          enum:
            - SIGNATURE
          default: SIGNATURE
    ApiTimeOfDay:
      required:
        - hour
        - minute
      type: object
      properties:
        hour:
          type: integer
          description: The hour component of the time, represented as an integer.
          format: int32
        minute:
          type: integer
          description: The minute component of the time, represented as an integer.
          format: int32
    ApiSort:
      required:
        - order
        - property
      type: object
      properties:
        missing:
          type: string
          description: Specifies how to handle sorting when the property is missing.
        order:
          type: string
          description: >-
            The order of sorting, with accepted values being ASC for ascending
            and DESC for descending.
          enum:
            - ASC
            - DESC
        property:
          type: string
          description: The name of the property to sort by.
    PublicPropertyFilter:
      title: PROPERTY
      required:
        - filterType
        - operation
        - property
      type: object
      properties:
        filterType:
          type: string
          description: Indicates the type of filter, which defaults to PROPERTY.
          enum:
            - PROPERTY
          default: PROPERTY
        operation:
          description: >-
            Defines the operation to be performed on the property, which can
            include various types such as boolean, number, string, date-time,
            and others.
          oneOf:
            - $ref: '#/components/schemas/PublicBoolPropertyOperation'
            - $ref: '#/components/schemas/PublicNumberPropertyOperation'
            - $ref: '#/components/schemas/PublicStringPropertyOperation'
            - $ref: '#/components/schemas/PublicDateTimePropertyOperation'
            - $ref: '#/components/schemas/PublicRangedDatePropertyOperation'
            - $ref: '#/components/schemas/PublicComparativePropertyUpdatedOperation'
            - $ref: '#/components/schemas/PublicComparativeDatePropertyOperation'
            - $ref: '#/components/schemas/PublicRollingDateRangePropertyOperation'
            - $ref: '#/components/schemas/PublicRollingPropertyUpdatedOperation'
            - $ref: '#/components/schemas/PublicEnumerationPropertyOperation'
            - $ref: '#/components/schemas/PublicAllPropertyTypesOperation'
            - $ref: '#/components/schemas/PublicRangedNumberPropertyOperation'
            - $ref: '#/components/schemas/PublicMultiStringPropertyOperation'
            - $ref: '#/components/schemas/PublicDatePropertyOperation'
            - $ref: '#/components/schemas/PublicCalendarDatePropertyOperation'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
        property:
          type: string
          description: Specifies the name of the property to be filtered.
    PublicAssociationInListFilter:
      title: ASSOCIATION
      required:
        - associationCategory
        - associationTypeId
        - coalescingRefineBy
        - filterType
        - listId
        - operator
      type: object
      properties:
        associationCategory:
          type: string
          description: Defines the category of the association.
        associationTypeId:
          type: integer
          description: The ID representing the type of association.
          format: int32
        coalescingRefineBy:
          description: >-
            Defines the criteria for refining associations using one of several
            possible schemas such as PublicNumOccurrencesRefineBy or
            PublicRelativeComparativeTimestampRefineBy.
          oneOf:
            - $ref: '#/components/schemas/PublicNumOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicSetOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicRelativeComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicRelativeRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAllHistoryRefineBy'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
        filterType:
          type: string
          description: Indicates the type of filter, which defaults to ASSOCIATION.
          enum:
            - ASSOCIATION
          default: ASSOCIATION
        listId:
          type: string
          description: The identifier of the list used in the association filter.
        operator:
          type: string
          description: Specifies the operator used in the association filter.
        toObjectType:
          type: string
          description: Specifies the type of object to which the association is made.
        toObjectTypeId:
          type: string
          description: Represents the ID of the object type associated with the filter.
    PublicPageViewAnalyticsFilter:
      title: PAGE_VIEW
      required:
        - filterType
        - operator
        - pageUrl
      type: object
      properties:
        coalescingRefineBy:
          description: >-
            Defines the criteria for refining page view analytics, using one of
            several possible schemas such as PublicNumOccurrencesRefineBy or
            PublicRelativeComparativeTimestampRefineBy.
          oneOf:
            - $ref: '#/components/schemas/PublicNumOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicSetOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicRelativeComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicRelativeRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAllHistoryRefineBy'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
        enableTracking:
          type: boolean
          description: >-
            Determines whether tracking is enabled for the page view analytics
            filter.
        filterType:
          type: string
          description: Indicates the type of filter, which defaults to PAGE_VIEW.
          enum:
            - PAGE_VIEW
          default: PAGE_VIEW
        operator:
          type: string
          description: Specifies the operator used in the page view analytics filter.
        pageUrl:
          type: string
          description: The URL of the page used in the page view analytics filter.
        pruningRefineBy:
          description: >-
            Specifies the criteria for pruning page view analytics, using one of
            several possible schemas such as PublicNumOccurrencesRefineBy or
            PublicRelativeRangedTimestampRefineBy.
          oneOf:
            - $ref: '#/components/schemas/PublicNumOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicSetOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicRelativeComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicRelativeRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAllHistoryRefineBy'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
    PublicCtaAnalyticsFilter:
      title: CTA
      required:
        - ctaName
        - filterType
        - operator
      type: object
      properties:
        coalescingRefineBy:
          description: >-
            Defines the criteria for refining CTA analytics, using one of
            several possible schemas such as PublicNumOccurrencesRefineBy or
            PublicRelativeComparativeTimestampRefineBy.
          oneOf:
            - $ref: '#/components/schemas/PublicNumOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicSetOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicRelativeComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicRelativeRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAllHistoryRefineBy'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
        ctaName:
          type: string
          description: The name of the call-to-action (CTA) used in the analytics filter.
        filterType:
          type: string
          description: Indicates the type of filter, which defaults to CTA.
          enum:
            - CTA
          default: CTA
        operator:
          type: string
          description: Specifies the operator used in the CTA analytics filter.
        pruningRefineBy:
          description: >-
            Specifies the criteria for pruning CTA analytics, using one of
            several possible schemas such as PublicNumOccurrencesRefineBy or
            PublicRelativeRangedTimestampRefineBy.
          oneOf:
            - $ref: '#/components/schemas/PublicNumOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicSetOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicRelativeComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicRelativeRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAllHistoryRefineBy'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
    PublicEventAnalyticsFilter:
      title: EVENT
      required:
        - eventId
        - filterType
        - operator
      type: object
      properties:
        coalescingRefineBy:
          description: >-
            Defines the criteria for refining events, using one of several
            possible schemas such as PublicNumOccurrencesRefineBy or
            PublicRelativeComparativeTimestampRefineBy.
          oneOf:
            - $ref: '#/components/schemas/PublicNumOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicSetOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicRelativeComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicRelativeRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAllHistoryRefineBy'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
        eventId:
          type: string
          description: The identifier for the event used in the event analytics filter.
        filterType:
          type: string
          description: Indicates the type of filter, which defaults to EVENT.
          enum:
            - EVENT
          default: EVENT
        operator:
          type: string
          description: Specifies the operator used in the event analytics filter.
        pruningRefineBy:
          description: >-
            Specifies the criteria for pruning events, using one of several
            possible schemas such as PublicNumOccurrencesRefineBy or
            PublicRelativeRangedTimestampRefineBy.
          oneOf:
            - $ref: '#/components/schemas/PublicNumOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicSetOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicRelativeComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicRelativeRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAllHistoryRefineBy'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
    PublicFormSubmissionFilter:
      title: FORM_SUBMISSION
      required:
        - filterType
        - operator
      type: object
      properties:
        coalescingRefineBy:
          description: >-
            Defines the criteria for refining form submissions, using one of
            several possible schemas such as PublicNumOccurrencesRefineBy or
            PublicRelativeComparativeTimestampRefineBy.
          oneOf:
            - $ref: '#/components/schemas/PublicNumOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicSetOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicRelativeComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicRelativeRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAllHistoryRefineBy'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
        filterType:
          type: string
          description: Indicates the type of filter, which defaults to FORM_SUBMISSION.
          enum:
            - FORM_SUBMISSION
          default: FORM_SUBMISSION
        formId:
          type: string
          description: >-
            The unique identifier of the form used in the form submission
            filter.
        operator:
          type: string
          description: >-
            Specifies the operator used in the form submission filter, with
            accepted values being FILLED_OUT or NOT_FILLED_OUT.
          enum:
            - FILLED_OUT
            - NOT_FILLED_OUT
        pruningRefineBy:
          description: >-
            Specifies the criteria for pruning form submissions, using one of
            several possible schemas such as PublicNumOccurrencesRefineBy or
            PublicRelativeRangedTimestampRefineBy.
          oneOf:
            - $ref: '#/components/schemas/PublicNumOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicSetOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicRelativeComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicRelativeRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAllHistoryRefineBy'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
    PublicFormSubmissionOnPageFilter:
      title: FORM_SUBMISSION_ON_PAGE
      required:
        - filterType
        - operator
        - pageId
      type: object
      properties:
        coalescingRefineBy:
          description: >-
            Defines the criteria for refining form submissions, using one of
            several possible schemas such as PublicNumOccurrencesRefineBy or
            PublicRelativeComparativeTimestampRefineBy.
          oneOf:
            - $ref: '#/components/schemas/PublicNumOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicSetOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicRelativeComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicRelativeRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAllHistoryRefineBy'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
        filterType:
          type: string
          description: >-
            Indicates the type of filter, which defaults to
            FORM_SUBMISSION_ON_PAGE.
          enum:
            - FORM_SUBMISSION_ON_PAGE
          default: FORM_SUBMISSION_ON_PAGE
        formId:
          type: string
          description: >-
            The unique identifier of the form used in the form submission on
            page filter.
        operator:
          type: string
          description: >-
            Specifies the operator used in the form submission on page filter,
            with accepted values being FILLED_OUT or NOT_FILLED_OUT.
          enum:
            - FILLED_OUT
            - NOT_FILLED_OUT
        pageId:
          type: string
          description: >-
            The identifier for the page used in the form submission on page
            filter.
        pruningRefineBy:
          description: >-
            Specifies the criteria for pruning form submissions, using one of
            several possible schemas such as PublicNumOccurrencesRefineBy or
            PublicRelativeRangedTimestampRefineBy.
          oneOf:
            - $ref: '#/components/schemas/PublicNumOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicSetOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicRelativeComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicRelativeRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAllHistoryRefineBy'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
    PublicIntegrationEventFilter:
      title: INTEGRATION_EVENT
      required:
        - eventTypeId
        - filterLines
        - filterType
      type: object
      properties:
        eventTypeId:
          type: integer
          description: >-
            The identifier for the type of event associated with the integration
            event filter.
          format: int32
        filterLines:
          type: array
          items:
            $ref: '#/components/schemas/PublicEventFilterMetadata'
        filterType:
          type: string
          description: Indicates the type of filter, which defaults to INTEGRATION_EVENT.
          enum:
            - INTEGRATION_EVENT
          default: INTEGRATION_EVENT
    PublicEmailSubscriptionFilter:
      title: EMAIL_SUBSCRIPTION
      required:
        - acceptedStatuses
        - filterType
        - subscriptionIds
      type: object
      properties:
        acceptedStatuses:
          type: array
          items:
            type: string
        filterType:
          type: string
          description: Indicates the type of filter, which defaults to EMAIL_SUBSCRIPTION.
          enum:
            - EMAIL_SUBSCRIPTION
          default: EMAIL_SUBSCRIPTION
        subscriptionIds:
          type: array
          items:
            type: string
        subscriptionType:
          type: string
          description: >-
            Specifies the type of subscription associated with the email
            subscription filter.
    PublicCommunicationSubscriptionFilter:
      title: COMMUNICATION_SUBSCRIPTION
      required:
        - acceptedOptStates
        - channel
        - filterType
        - subscriptionIds
        - subscriptionType
      type: object
      properties:
        acceptedOptStates:
          type: array
          items:
            type: string
        businessUnitId:
          type: string
          description: >-
            Identifies the business unit associated with the subscription
            filter.
        channel:
          type: string
          description: >-
            Specifies the communication channel associated with the subscription
            filter.
        filterType:
          type: string
          description: >-
            Indicates the type of filter, which defaults to
            COMMUNICATION_SUBSCRIPTION.
          enum:
            - COMMUNICATION_SUBSCRIPTION
          default: COMMUNICATION_SUBSCRIPTION
        subscriptionIds:
          type: array
          items:
            type: string
        subscriptionType:
          type: string
          description: Defines the type of subscription related to the filter.
    PublicCampaignInfluencedFilter:
      title: CAMPAIGN_INFLUENCED
      required:
        - campaignId
        - filterType
      type: object
      properties:
        campaignId:
          type: string
          description: >-
            The identifier for the campaign used in the campaign influenced
            filter.
        filterType:
          type: string
          description: Indicates the type of filter, which defaults to CAMPAIGN_INFLUENCED.
          enum:
            - CAMPAIGN_INFLUENCED
          default: CAMPAIGN_INFLUENCED
    PublicSurveyMonkeyFilter:
      title: SURVEY_MONKEY
      required:
        - filterType
        - operator
        - surveyId
      type: object
      properties:
        filterType:
          type: string
          description: Indicates the type of filter, which defaults to SURVEY_MONKEY.
          enum:
            - SURVEY_MONKEY
          default: SURVEY_MONKEY
        operator:
          type: string
          description: Specifies the operator used in the filter.
        surveyId:
          type: string
          description: The identifier for the survey.
    PublicSurveyMonkeyValueFilter:
      title: SURVEY_MONKEY_VALUE
      required:
        - filterType
        - operator
        - surveyId
        - surveyQuestion
        - valueComparison
      type: object
      properties:
        filterType:
          type: string
          description: Indicates the type of filter, which defaults to SURVEY_MONKEY_VALUE.
          enum:
            - SURVEY_MONKEY_VALUE
          default: SURVEY_MONKEY_VALUE
        operator:
          type: string
          description: Specifies the operator used in the filter.
        surveyAnswerColId:
          type: string
          description: The identifier for the column of the survey answer.
        surveyAnswerRowId:
          type: string
          description: The identifier for the row of the survey answer.
        surveyId:
          type: string
          description: The identifier for the survey.
        surveyQuestion:
          type: string
          description: The text of the survey question.
        valueComparison:
          description: Defines the criteria for comparing the survey answer value.
          oneOf:
            - $ref: '#/components/schemas/PublicBoolPropertyOperation'
            - $ref: '#/components/schemas/PublicNumberPropertyOperation'
            - $ref: '#/components/schemas/PublicStringPropertyOperation'
            - $ref: '#/components/schemas/PublicDateTimePropertyOperation'
            - $ref: '#/components/schemas/PublicRangedDatePropertyOperation'
            - $ref: '#/components/schemas/PublicComparativePropertyUpdatedOperation'
            - $ref: '#/components/schemas/PublicComparativeDatePropertyOperation'
            - $ref: '#/components/schemas/PublicRollingDateRangePropertyOperation'
            - $ref: '#/components/schemas/PublicRollingPropertyUpdatedOperation'
            - $ref: '#/components/schemas/PublicEnumerationPropertyOperation'
            - $ref: '#/components/schemas/PublicAllPropertyTypesOperation'
            - $ref: '#/components/schemas/PublicRangedNumberPropertyOperation'
            - $ref: '#/components/schemas/PublicMultiStringPropertyOperation'
            - $ref: '#/components/schemas/PublicDatePropertyOperation'
            - $ref: '#/components/schemas/PublicCalendarDatePropertyOperation'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
    PublicWebinarFilter:
      title: WEBINAR
      required:
        - filterType
        - operator
      type: object
      properties:
        filterType:
          type: string
          description: Indicates the type of filter, which defaults to WEBINAR.
          enum:
            - WEBINAR
          default: WEBINAR
        operator:
          type: string
          description: Specifies the operator used in the webinar filter.
        webinarId:
          type: string
          description: The identifier for the webinar used in the filter.
    PublicEmailEventFilter:
      title: EMAIL_EVENT
      required:
        - appId
        - emailId
        - filterType
        - level
        - operator
      type: object
      properties:
        appId:
          type: string
          description: The identifier for the application associated with the email event.
        clickUrl:
          type: string
          description: The URL that was clicked in the email event.
        emailId:
          type: string
          description: The identifier for the email associated with the event.
        filterType:
          type: string
          description: Indicates the type of filter, which defaults to EMAIL_EVENT.
          enum:
            - EMAIL_EVENT
          default: EMAIL_EVENT
        level:
          type: string
          description: Specifies the level of the email event filter.
        operator:
          type: string
          description: >-
            Specifies the operator used in the email event filter, with accepted
            values being BOUNCED, LINK_CLICKED, MARKED_SPAM, OPENED,
            OPENED_BUT_LINK_NOT_CLICKED, OPENED_BUT_NOT_REPLIED, RECEIVED,
            RECEIVED_BUT_NOT_OPENED, REPLIED, SENT, SENT_BUT_LINK_NOT_CLICKED,
            SENT_BUT_NOT_RECEIVED, UNSUBSCRIBED.
          enum:
            - BOUNCED
            - LINK_CLICKED
            - MARKED_SPAM
            - OPENED
            - OPENED_BUT_LINK_NOT_CLICKED
            - OPENED_BUT_NOT_REPLIED
            - RECEIVED
            - RECEIVED_BUT_NOT_OPENED
            - REPLIED
            - SENT
            - SENT_BUT_LINK_NOT_CLICKED
            - SENT_BUT_NOT_RECEIVED
            - UNSUBSCRIBED
        pruningRefineBy:
          description: >-
            Specifies the criteria for refining email events, using one of
            several possible schemas such as PublicNumOccurrencesRefineBy or
            PublicRelativeRangedTimestampRefineBy.
          oneOf:
            - $ref: '#/components/schemas/PublicNumOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicSetOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicRelativeComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicRelativeRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAllHistoryRefineBy'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
    PublicPrivacyAnalyticsFilter:
      title: PRIVACY
      required:
        - filterType
        - operator
        - privacyName
      type: object
      properties:
        filterType:
          type: string
          description: Indicates the type of filter, which defaults to PRIVACY.
          enum:
            - PRIVACY
          default: PRIVACY
        operator:
          type: string
          description: Specifies the operator used in the privacy analytics filter.
        privacyName:
          type: string
          description: The name associated with the privacy analytics filter.
    PublicAdsSearchFilter:
      title: ADS_SEARCH
      required:
        - adNetwork
        - entityType
        - filterType
        - operator
        - searchTermType
        - searchTerms
      type: object
      properties:
        adNetwork:
          type: string
          description: Specifies the ad network associated with the ads search filter.
        entityType:
          type: string
          description: Specifies the type of entity involved in the ads search filter.
        filterType:
          type: string
          description: Indicates the type of filter, which defaults to ADS_SEARCH.
          enum:
            - ADS_SEARCH
          default: ADS_SEARCH
        operator:
          type: string
          description: Defines the operator used in the ads search filter.
        searchTermType:
          type: string
          description: Indicates the type of search terms used in the ads search filter.
        searchTerms:
          type: array
          items:
            type: string
    PublicAdsTimeFilter:
      title: ADS_TIME
      required:
        - filterType
        - pruningRefineBy
      type: object
      properties:
        filterType:
          type: string
          description: Indicates the type of filter, which defaults to ADS_TIME.
          enum:
            - ADS_TIME
          default: ADS_TIME
        pruningRefineBy:
          description: >-
            Specifies the criteria for pruning ads time data, using one of
            several possible schemas such as PublicNumOccurrencesRefineBy or
            PublicRelativeRangedTimestampRefineBy.
          oneOf:
            - $ref: '#/components/schemas/PublicNumOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicSetOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicRelativeComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicRelativeRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAllHistoryRefineBy'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
    PublicInListFilter:
      title: IN_LIST
      required:
        - filterType
        - listId
        - operator
      type: object
      properties:
        filterType:
          type: string
          description: Indicates the type of filter, which defaults to IN_LIST.
          enum:
            - IN_LIST
          default: IN_LIST
        listId:
          type: string
          description: The identifier of the list used in the in-list filter.
        metadata:
          $ref: '#/components/schemas/PublicInListFilterMetadata'
        operator:
          type: string
          description: Specifies the operator used in the in-list filter.
    PublicNumAssociationsFilter:
      title: NUM_ASSOCIATIONS
      required:
        - associationCategory
        - associationTypeId
        - coalescingRefineBy
        - filterType
      type: object
      properties:
        associationCategory:
          type: string
          description: Defines the category of the association.
        associationTypeId:
          type: integer
          description: The ID representing the type of association.
          format: int32
        coalescingRefineBy:
          description: >-
            Defines the criteria for refining associations, using one of several
            possible schemas such as PublicNumOccurrencesRefineBy or
            PublicRelativeComparativeTimestampRefineBy.
          oneOf:
            - $ref: '#/components/schemas/PublicNumOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicSetOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicRelativeComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicRelativeRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAllHistoryRefineBy'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
        filterType:
          type: string
          description: Indicates the type of filter, which defaults to NUM_ASSOCIATIONS.
          enum:
            - NUM_ASSOCIATIONS
          default: NUM_ASSOCIATIONS
    PublicUnifiedEventsFilter:
      title: UNIFIED_EVENTS
      required:
        - filterLines
        - filterType
      type: object
      properties:
        coalescingRefineBy:
          description: >-
            Defines the criteria for refining events, using one of several
            possible schemas such as PublicNumOccurrencesRefineBy or
            PublicRelativeComparativeTimestampRefineBy.
          oneOf:
            - $ref: '#/components/schemas/PublicNumOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicSetOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicRelativeComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicRelativeRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAllHistoryRefineBy'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
        eventTypeId:
          type: string
          description: >-
            The identifier for the type of event associated with the unified
            events filter.
        filterLines:
          type: array
          items:
            $ref: '#/components/schemas/PublicEventFilterMetadata'
        filterType:
          type: string
          description: Indicates the type of filter, which defaults to UNIFIED_EVENTS.
          enum:
            - UNIFIED_EVENTS
          default: UNIFIED_EVENTS
        pruningRefineBy:
          description: >-
            Specifies the criteria for pruning events, using one of several
            possible schemas such as PublicNumOccurrencesRefineBy or
            PublicRelativeRangedTimestampRefineBy.
          oneOf:
            - $ref: '#/components/schemas/PublicNumOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicSetOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicRelativeComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicRelativeRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAllHistoryRefineBy'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
    PublicPropertyAssociationInListFilter:
      title: PROPERTY_ASSOCIATION
      required:
        - coalescingRefineBy
        - filterType
        - listId
        - operator
        - propertyWithObjectId
      type: object
      properties:
        coalescingRefineBy:
          description: >-
            Defines the criteria for refining the property association, using
            one of several possible schemas such as PublicNumOccurrencesRefineBy
            or PublicRelativeComparativeTimestampRefineBy.
          oneOf:
            - $ref: '#/components/schemas/PublicNumOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicSetOccurrencesRefineBy'
            - $ref: '#/components/schemas/PublicRelativeComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicRelativeRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteComparativeTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAbsoluteRangedTimestampRefineBy'
            - $ref: '#/components/schemas/PublicAllHistoryRefineBy'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
        filterType:
          type: string
          description: >-
            Indicates the type of filter, which defaults to
            PROPERTY_ASSOCIATION.
          enum:
            - PROPERTY_ASSOCIATION
          default: PROPERTY_ASSOCIATION
        listId:
          type: string
          description: The identifier of the list used in the property association filter.
        operator:
          type: string
          description: Specifies the operator used in the property association filter.
        propertyWithObjectId:
          type: string
          description: Specifies the property that includes the object ID for the filter.
        toObjectTypeId:
          type: string
          description: >-
            Represents the ID of the object type associated with the property
            association filter.
    PublicConstantFilter:
      title: CONSTANT
      required:
        - filterType
        - shouldAccept
      type: object
      properties:
        filterType:
          type: string
          description: Indicates the type of filter, which defaults to CONSTANT.
          enum:
            - CONSTANT
          default: CONSTANT
        shouldAccept:
          type: boolean
          description: Determines whether the filter should accept the specified condition.
        source:
          type: string
          description: Specifies the source of the filter.
    PublicNumOccurrencesRefineBy:
      title: NUM_OCCURRENCES
      required:
        - type
      type: object
      properties:
        maxOccurrences:
          type: integer
          description: Specifies the maximum number of occurrences allowed.
          format: int32
        minOccurrences:
          type: integer
          description: Specifies the minimum number of occurrences required.
          format: int32
        type:
          type: string
          description: Indicates the type of refinement, which defaults to NUM_OCCURRENCES.
          enum:
            - NUM_OCCURRENCES
          default: NUM_OCCURRENCES
    PublicSetOccurrencesRefineBy:
      title: SET_OCCURRENCES
      required:
        - setType
        - type
      type: object
      properties:
        setType:
          type: string
          description: Defines the set type used for occurrences refinement.
        type:
          type: string
          description: Specifies the type of refinement, which defaults to SET_OCCURRENCES.
          enum:
            - SET_OCCURRENCES
          default: SET_OCCURRENCES
    PublicRelativeComparativeTimestampRefineBy:
      title: RELATIVE_COMPARATIVE
      required:
        - comparison
        - timeOffset
        - type
      type: object
      properties:
        comparison:
          type: string
          description: >-
            Defines the comparison operation used in the relative comparative
            timestamp refinement.
        timeOffset:
          $ref: '#/components/schemas/PublicTimeOffset'
        type:
          type: string
          description: >-
            Specifies the type of refinement, which defaults to
            RELATIVE_COMPARATIVE.
          enum:
            - RELATIVE_COMPARATIVE
          default: RELATIVE_COMPARATIVE
    PublicRelativeRangedTimestampRefineBy:
      title: RELATIVE_RANGED
      required:
        - lowerBoundOffset
        - rangeType
        - type
        - upperBoundOffset
      type: object
      properties:
        lowerBoundOffset:
          $ref: '#/components/schemas/PublicTimeOffset'
        rangeType:
          type: string
          description: Specifies the type of range used for the timestamp refinement.
        type:
          type: string
          description: >-
            Indicates the type of timestamp refinement, which defaults to
            RELATIVE_RANGED.
          enum:
            - RELATIVE_RANGED
          default: RELATIVE_RANGED
        upperBoundOffset:
          $ref: '#/components/schemas/PublicTimeOffset'
    PublicAbsoluteComparativeTimestampRefineBy:
      title: ABSOLUTE_COMPARATIVE
      required:
        - comparison
        - timestamp
        - type
      type: object
      properties:
        comparison:
          type: string
          description: >-
            Defines the comparison operation used in the absolute comparative
            timestamp refinement.
        timestamp:
          type: integer
          description: >-
            Specifies the timestamp used for the absolute comparative
            refinement, represented as an integer.
          format: int64
        type:
          type: string
          description: >-
            Indicates the type of refinement, which defaults to
            ABSOLUTE_COMPARATIVE.
          enum:
            - ABSOLUTE_COMPARATIVE
          default: ABSOLUTE_COMPARATIVE
    PublicAbsoluteRangedTimestampRefineBy:
      title: ABSOLUTE_RANGED
      required:
        - lowerTimestamp
        - rangeType
        - type
        - upperTimestamp
      type: object
      properties:
        lowerTimestamp:
          type: integer
          description: Specifies the lower limit of the timestamp range.
          format: int64
        rangeType:
          type: string
          description: Specifies the type of range used for the timestamp refinement.
        type:
          type: string
          description: >-
            Indicates the type of timestamp refinement, which defaults to
            ABSOLUTE_RANGED.
          enum:
            - ABSOLUTE_RANGED
          default: ABSOLUTE_RANGED
        upperTimestamp:
          type: integer
          description: Specifies the upper limit of the timestamp range.
          format: int64
    PublicAllHistoryRefineBy:
      title: ALL_HISTORY
      required:
        - type
      type: object
      properties:
        type:
          type: string
          description: Specifies the type of refinement, which defaults to ALL_HISTORY.
          enum:
            - ALL_HISTORY
          default: ALL_HISTORY
    PublicTimePointOperation:
      title: TIME_POINT
      required:
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - timePoint
        - type
      type: object
      properties:
        endpointBehavior:
          type: string
          description: Describes the behavior of the endpoint in relation to the operation.
        includeObjectsWithNoValueSet:
          type: boolean
          description: >-
            Indicates whether objects without a set value should be included in
            the operation.
        operationType:
          type: string
          description: Specifies the type of operation, which defaults to 'TIME_POINT'.
          enum:
            - TIME_POINT
          default: TIME_POINT
        operator:
          type: string
          description: Defines the operator used in the time point operation.
        propertyParser:
          type: string
          description: >-
            Defines the parser used to interpret the property value in the
            operation.
        timePoint:
          description: >-
            Specifies the point in time used for the operation, which can be a
            date, indexed time, or property-referenced time.
          oneOf:
            - $ref: '#/components/schemas/PublicDatePoint'
            - $ref: '#/components/schemas/PublicIndexedTimePoint'
            - $ref: '#/components/schemas/PublicPropertyReferencedTime'
        type:
          type: string
          description: Indicates the specific type of the operation.
    PublicRangedTimeOperation:
      title: TIME_RANGED
      required:
        - includeObjectsWithNoValueSet
        - lowerBoundTimePoint
        - operationType
        - operator
        - type
        - upperBoundTimePoint
      type: object
      properties:
        includeObjectsWithNoValueSet:
          type: boolean
          description: >-
            Determines if objects without a set value should be included in the
            operation.
        lowerBoundEndpointBehavior:
          type: string
          description: >-
            Indicates the behavior at the lower bound endpoint of the time
            range.
        lowerBoundTimePoint:
          description: Defines the lower limit for the time range.
          oneOf:
            - $ref: '#/components/schemas/PublicDatePoint'
            - $ref: '#/components/schemas/PublicIndexedTimePoint'
            - $ref: '#/components/schemas/PublicPropertyReferencedTime'
        operationType:
          type: string
          description: Specifies the type of operation, which is 'TIME_RANGED'.
        operator:
          type: string
          description: Defines the operator used in the time range operation.
        propertyParser:
          type: string
          description: Specifies the parser used for the property in the operation.
        type:
          type: string
          description: Specifies the type of operation, which defaults to 'TIME_RANGED'.
          enum:
            - TIME_RANGED
          default: TIME_RANGED
        upperBoundEndpointBehavior:
          type: string
          description: >-
            Indicates the behavior at the upper bound endpoint of the time
            range.
        upperBoundTimePoint:
          description: Defines the upper limit for the time range.
          oneOf:
            - $ref: '#/components/schemas/PublicDatePoint'
            - $ref: '#/components/schemas/PublicIndexedTimePoint'
            - $ref: '#/components/schemas/PublicPropertyReferencedTime'
    ApiTimeDelay:
      required:
        - daysOfWeek
        - delta
        - timeUnit
      type: object
      properties:
        daysOfWeek:
          type: array
          items:
            type: string
            enum:
              - MONDAY
              - TUESDAY
              - WEDNESDAY
              - THURSDAY
              - FRIDAY
              - SATURDAY
              - SUNDAY
        delta:
          type: integer
          description: The amount of time to delay, specified as an integer.
          format: int32
        timeOfDay:
          $ref: '#/components/schemas/ApiTimeOfDay'
        timeUnit:
          type: string
          description: >-
            Defines the unit of time for the delay, with accepted values
            including: CENTURIES, DAYS, DECADES, ERAS, FOREVER, HALF_DAYS,
            HOURS, MICROS, MILLENNIA, MILLIS, MINUTES, MONTHS, NANOS, SECONDS,
            WEEKS, YEARS.
          enum:
            - CENTURIES
            - DAYS
            - DECADES
            - ERAS
            - FOREVER
            - HALF_DAYS
            - HOURS
            - MICROS
            - MILLENNIA
            - MILLIS
            - MINUTES
            - MONTHS
            - NANOS
            - SECONDS
            - WEEKS
            - YEARS
        timeZoneStrategy:
          description: Specifies the strategy for determining the time zone for the delay.
          oneOf:
            - $ref: '#/components/schemas/ApiStaticTimeZoneStrategy'
    PublicBoolPropertyOperation:
      title: BOOL
      required:
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - value
      type: object
      properties:
        includeObjectsWithNoValueSet:
          type: boolean
          description: Indicates whether objects without a value set should be included.
        operationType:
          type: string
          description: Specifies the type of operation, which defaults to 'BOOL'.
          enum:
            - BOOL
          default: BOOL
        operator:
          type: string
          description: Defines the operator used in the boolean property operation.
        value:
          type: boolean
          description: The boolean value involved in the operation.
    PublicNumberPropertyOperation:
      title: NUMBER
      required:
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - value
      type: object
      properties:
        includeObjectsWithNoValueSet:
          type: boolean
          description: Indicates whether objects without a value set should be included.
        operationType:
          type: string
          description: Specifies the type of operation, which defaults to 'NUMBER'.
          enum:
            - NUMBER
          default: NUMBER
        operator:
          type: string
          description: Defines the operator used in the number property operation.
        value:
          type: number
          description: The numeric value involved in the operation.
    PublicStringPropertyOperation:
      title: STRING
      required:
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - value
      type: object
      properties:
        includeObjectsWithNoValueSet:
          type: boolean
          description: Indicates whether objects without a value set should be included.
        operationType:
          type: string
          description: Specifies the type of operation, which defaults to 'STRING'.
          enum:
            - STRING
          default: STRING
        operator:
          type: string
          description: Defines the operator used in the string property operation.
        value:
          type: string
          description: The string value involved in the operation.
    PublicDateTimePropertyOperation:
      title: DATETIME
      required:
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - requiresTimeZoneConversion
        - timestamp
      type: object
      properties:
        includeObjectsWithNoValueSet:
          type: boolean
          description: >-
            Determines if objects without a set value should be included in the
            operation.
        operationType:
          type: string
          description: Specifies the type of operation, which defaults to 'DATETIME'.
          enum:
            - DATETIME
          default: DATETIME
        operator:
          type: string
          description: Defines the operator used in the date-time property operation.
        requiresTimeZoneConversion:
          type: boolean
          description: Indicates whether time zone conversion is needed for the operation.
        timestamp:
          type: integer
          description: >-
            Specifies the timestamp involved in the date-time property
            operation.
          format: int32
    PublicRangedDatePropertyOperation:
      title: RANGED_DATE
      required:
        - includeObjectsWithNoValueSet
        - lowerBound
        - operationType
        - operator
        - requiresTimeZoneConversion
        - upperBound
      type: object
      properties:
        includeObjectsWithNoValueSet:
          type: boolean
          description: Determines if objects without a set value should be included.
        lowerBound:
          type: integer
          description: Specifies the lower limit for the date range.
          format: int32
        operationType:
          type: string
          description: Specifies the type of operation, which is 'RANGED_DATE'.
          enum:
            - RANGED_DATE
          default: RANGED_DATE
        operator:
          type: string
          description: Defines the operator used in the date range operation.
        requiresTimeZoneConversion:
          type: boolean
          description: Indicates whether time zone conversion is needed.
        upperBound:
          type: integer
          description: Specifies the upper limit for the date range.
          format: int32
    PublicComparativePropertyUpdatedOperation:
      title: COMPARATIVE_PROPERTY_UPDATED
      required:
        - comparisonPropertyName
        - includeObjectsWithNoValueSet
        - operationType
        - operator
      type: object
      properties:
        comparisonPropertyName:
          type: string
          description: The name of the property used for comparison in the operation.
        defaultComparisonValue:
          type: string
          description: >-
            Specifies the default value used for comparison if the property
            value is not set.
        includeObjectsWithNoValueSet:
          type: boolean
          description: Indicates whether objects without a value set should be included.
        operationType:
          type: string
          description: >-
            Specifies the type of operation, which defaults to
            'COMPARATIVE_PROPERTY_UPDATED'.
          enum:
            - COMPARATIVE_PROPERTY_UPDATED
          default: COMPARATIVE_PROPERTY_UPDATED
        operator:
          type: string
          description: >-
            Defines the operator used in the comparative property updated
            operation.
    PublicComparativeDatePropertyOperation:
      title: COMPARATIVE_DATE
      required:
        - comparisonPropertyName
        - includeObjectsWithNoValueSet
        - operationType
        - operator
      type: object
      properties:
        comparisonPropertyName:
          type: string
          description: The name of the property used for comparison in the operation.
        defaultComparisonValue:
          type: string
          description: The default value used for comparison in the operation.
        includeObjectsWithNoValueSet:
          type: boolean
          description: >-
            Indicates whether objects without a value set should be included in
            the operation.
        operationType:
          type: string
          description: >-
            Specifies the type of operation, which defaults to
            'COMPARATIVE_DATE'.
          enum:
            - COMPARATIVE_DATE
          default: COMPARATIVE_DATE
        operator:
          type: string
          description: >-
            Defines the operator used in the comparative date property
            operation.
    PublicRollingDateRangePropertyOperation:
      title: ROLLING_DATE_RANGE
      required:
        - includeObjectsWithNoValueSet
        - numberOfDays
        - operationType
        - operator
        - requiresTimeZoneConversion
      type: object
      properties:
        includeObjectsWithNoValueSet:
          type: boolean
          description: Determines if objects without a set value should be included.
        numberOfDays:
          type: integer
          description: Indicates the number of days for the rolling date range.
          format: int32
        operationType:
          type: string
          description: >-
            Specifies the type of operation, which defaults to
            'ROLLING_DATE_RANGE'.
          enum:
            - ROLLING_DATE_RANGE
          default: ROLLING_DATE_RANGE
        operator:
          type: string
          description: Defines the operator used in the rolling date range operation.
        requiresTimeZoneConversion:
          type: boolean
          description: Indicates whether time zone conversion is needed.
    PublicRollingPropertyUpdatedOperation:
      title: ROLLING_PROPERTY_UPDATED
      required:
        - includeObjectsWithNoValueSet
        - numberOfDays
        - operationType
        - operator
      type: object
      properties:
        includeObjectsWithNoValueSet:
          type: boolean
        numberOfDays:
          type: integer
          format: int32
        operationType:
          type: string
          enum:
            - ROLLING_PROPERTY_UPDATED
          default: ROLLING_PROPERTY_UPDATED
        operator:
          type: string
    PublicEnumerationPropertyOperation:
      title: ENUMERATION
      required:
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - values
      type: object
      properties:
        includeObjectsWithNoValueSet:
          type: boolean
          description: Indicates whether objects without a value set should be included.
        operationType:
          type: string
          description: Specifies the type of operation, which defaults to 'ENUMERATION'.
          enum:
            - ENUMERATION
          default: ENUMERATION
        operator:
          type: string
          description: Defines the operator used in the enumeration property operation.
        values:
          type: array
          items:
            type: string
    PublicAllPropertyTypesOperation:
      title: ALL_PROPERTY
      required:
        - includeObjectsWithNoValueSet
        - operationType
        - operator
      type: object
      properties:
        includeObjectsWithNoValueSet:
          type: boolean
          description: Indicates whether objects without a value set should be included.
        operationType:
          type: string
          description: Specifies the type of operation, which defaults to 'ALL_PROPERTY'.
          enum:
            - ALL_PROPERTY
          default: ALL_PROPERTY
        operator:
          type: string
          description: Defines the operator used in the all property types operation.
    PublicRangedNumberPropertyOperation:
      title: NUMBER_RANGED
      required:
        - includeObjectsWithNoValueSet
        - lowerBound
        - operationType
        - operator
        - upperBound
      type: object
      properties:
        includeObjectsWithNoValueSet:
          type: boolean
          description: Indicates whether objects without a value set should be included.
        lowerBound:
          type: integer
          description: Specifies the lower limit for the number range.
          format: int32
        operationType:
          type: string
          description: Specifies the type of operation, which is 'NUMBER_RANGED'.
          enum:
            - NUMBER_RANGED
          default: NUMBER_RANGED
        operator:
          type: string
          description: Defines the operator used in the ranged number property operation.
        upperBound:
          type: integer
          description: Specifies the upper limit for the number range.
          format: int32
    PublicMultiStringPropertyOperation:
      title: MULTISTRING
      required:
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - values
      type: object
      properties:
        includeObjectsWithNoValueSet:
          type: boolean
          description: Indicates whether objects without a value set should be included.
        operationType:
          type: string
          description: Specifies the type of operation, which defaults to 'MULTISTRING'.
          enum:
            - MULTISTRING
          default: MULTISTRING
        operator:
          type: string
          description: Defines the operator used in the multi-string property operation.
        values:
          type: array
          items:
            type: string
    PublicDatePropertyOperation:
      title: DATE
      required:
        - day
        - includeObjectsWithNoValueSet
        - month
        - operationType
        - operator
        - year
      type: object
      properties:
        day:
          type: integer
          description: The day component of the date operation.
          format: int32
        includeObjectsWithNoValueSet:
          type: boolean
          description: Indicates whether objects without a value set should be included.
        month:
          type: string
          description: The month component of the date operation.
        operationType:
          type: string
          description: Specifies the type of operation, which defaults to 'DATE'.
          enum:
            - DATE
          default: DATE
        operator:
          type: string
          description: Defines the operator used in the date property operation.
        year:
          type: integer
          description: The year component of the date operation.
          format: int32
    PublicCalendarDatePropertyOperation:
      title: CALENDAR_DATE
      required:
        - includeObjectsWithNoValueSet
        - operationType
        - operator
        - timeUnit
      type: object
      properties:
        fiscalYearStart:
          type: string
          description: >-
            Defines the starting month of the fiscal year, with accepted values
            including: APRIL, AUGUST, DECEMBER, FEBRUARY, JANUARY, JULY, JUNE,
            MARCH, MAY, NOVEMBER, OCTOBER, SEPTEMBER.
          enum:
            - APRIL
            - AUGUST
            - DECEMBER
            - FEBRUARY
            - JANUARY
            - JULY
            - JUNE
            - MARCH
            - MAY
            - NOVEMBER
            - OCTOBER
            - SEPTEMBER
        includeObjectsWithNoValueSet:
          type: boolean
          description: Indicates whether objects without a value set should be included.
        operationType:
          type: string
          description: Specifies the type of operation, which defaults to 'CALENDAR_DATE'.
          enum:
            - CALENDAR_DATE
          default: CALENDAR_DATE
        operator:
          type: string
          description: Defines the operator used in the calendar date property operation.
        timeUnit:
          type: string
          description: Specifies the unit of time used in the operation.
        timeUnitCount:
          type: integer
          description: Indicates the number of time units involved in the operation.
          format: int32
        useFiscalYear:
          type: boolean
          description: Determines if the fiscal year should be used in the operation.
    PublicEventFilterMetadata:
      required:
        - operation
        - property
      type: object
      properties:
        operation:
          oneOf:
            - $ref: '#/components/schemas/PublicBoolPropertyOperation'
            - $ref: '#/components/schemas/PublicNumberPropertyOperation'
            - $ref: '#/components/schemas/PublicStringPropertyOperation'
            - $ref: '#/components/schemas/PublicDateTimePropertyOperation'
            - $ref: '#/components/schemas/PublicRangedDatePropertyOperation'
            - $ref: '#/components/schemas/PublicComparativePropertyUpdatedOperation'
            - $ref: '#/components/schemas/PublicComparativeDatePropertyOperation'
            - $ref: '#/components/schemas/PublicRollingDateRangePropertyOperation'
            - $ref: '#/components/schemas/PublicRollingPropertyUpdatedOperation'
            - $ref: '#/components/schemas/PublicEnumerationPropertyOperation'
            - $ref: '#/components/schemas/PublicAllPropertyTypesOperation'
            - $ref: '#/components/schemas/PublicRangedNumberPropertyOperation'
            - $ref: '#/components/schemas/PublicMultiStringPropertyOperation'
            - $ref: '#/components/schemas/PublicDatePropertyOperation'
            - $ref: '#/components/schemas/PublicCalendarDatePropertyOperation'
            - $ref: '#/components/schemas/PublicTimePointOperation'
            - $ref: '#/components/schemas/PublicRangedTimeOperation'
        property:
          type: string
    PublicInListFilterMetadata:
      required:
        - id
        - inListType
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for the filter metadata.
        inListType:
          type: string
          description: Specifies the type of list associated with the filter.
    PublicTimeOffset:
      required:
        - amount
        - offsetDirection
        - timeUnit
      type: object
      properties:
        amount:
          type: integer
          format: int64
        offsetDirection:
          type: string
        timeUnit:
          type: string
    PublicDatePoint:
      title: DATE
      required:
        - day
        - month
        - timeType
        - 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
          enum:
            - DATE
          default: DATE
        timezoneSource:
          type: string
        year:
          type: integer
          format: int32
        zoneId:
          type: string
    PublicIndexedTimePoint:
      title: INDEXED
      required:
        - indexReference
        - timeType
        - zoneId
      type: object
      properties:
        indexReference:
          description: >-
            Specifies the reference point for the index, which can be one of
            several predefined time references such as NOW, TODAY, or specific
            fiscal periods.
          oneOf:
            - $ref: '#/components/schemas/PublicNowReference'
            - $ref: '#/components/schemas/PublicTodayReference'
            - $ref: '#/components/schemas/PublicWeekReference'
            - $ref: '#/components/schemas/PublicFiscalQuarterReference'
            - $ref: '#/components/schemas/PublicFiscalYearReference'
            - $ref: '#/components/schemas/PublicYearReference'
            - $ref: '#/components/schemas/PublicQuarterReference'
            - $ref: '#/components/schemas/PublicMonthReference'
        offset:
          $ref: '#/components/schemas/PublicIndexOffset'
        timeType:
          type: string
          description: Indicates the type of time point, which defaults to INDEXED.
          enum:
            - INDEXED
          default: INDEXED
        timezoneSource:
          type: string
          description: >-
            Specifies the source of the time zone information for the indexed
            time point.
        zoneId:
          type: string
          description: Defines the time zone identifier used for the indexed time point.
    PublicPropertyReferencedTime:
      title: PROPERTY_REFERENCED
      required:
        - property
        - referenceType
        - timeType
        - zoneId
      type: object
      properties:
        property:
          type: string
          description: Specifies the name of the property being referenced.
        referenceType:
          type: string
          description: Indicates the type of reference used for the property.
        timeType:
          type: string
          description: >-
            Indicates the type of time reference, defaulting to
            'PROPERTY_REFERENCED'.
          enum:
            - PROPERTY_REFERENCED
          default: PROPERTY_REFERENCED
        timezoneSource:
          type: string
          description: >-
            Specifies the source of the time zone information for the
            property-referenced time.
        zoneId:
          type: string
          description: Defines the time zone identifier for the property-referenced time.
    ApiStaticTimeZoneStrategy:
      title: STATIC_TIME_ZONE
      required:
        - timeZoneId
        - type
      type: object
      properties:
        timeZoneId:
          type: string
          description: The identifier for the time zone.
        type:
          type: string
          description: >-
            Specifies the type of time zone strategy, which defaults to
            STATIC_TIME_ZONE.
          enum:
            - STATIC_TIME_ZONE
          default: STATIC_TIME_ZONE
    PublicNowReference:
      title: NOW
      required:
        - referenceType
      type: object
      properties:
        hour:
          type: integer
          description: The hour component of the current time reference.
          format: int32
        millisecond:
          type: integer
          description: The millisecond component of the current time reference.
          format: int32
        minute:
          type: integer
          description: The minute component of the current time reference.
          format: int32
        referenceType:
          type: string
          description: Indicates the type of reference, defaulting to 'NOW'.
          enum:
            - NOW
          default: NOW
        second:
          type: integer
          description: The second component of the current time reference.
          format: int32
    PublicTodayReference:
      title: TODAY
      required:
        - referenceType
      type: object
      properties:
        hour:
          type: integer
          description: The hour component of the time in the today reference.
          format: int32
        millisecond:
          type: integer
          description: The millisecond component of the time in the today reference.
          format: int32
        minute:
          type: integer
          description: The minute component of the time in the today reference.
          format: int32
        referenceType:
          type: string
          description: Indicates the type of reference, defaulting to 'TODAY'.
          enum:
            - TODAY
          default: TODAY
        second:
          type: integer
          description: The second component of the time in the today reference.
          format: int32
    PublicWeekReference:
      title: WEEK
      required:
        - dayOfWeek
        - referenceType
      type: object
      properties:
        dayOfWeek:
          type: string
          description: >-
            The day of the week in the week reference, with accepted values
            including: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,
            SUNDAY.
          enum:
            - FRIDAY
            - MONDAY
            - SATURDAY
            - SUNDAY
            - THURSDAY
            - TUESDAY
            - WEDNESDAY
        hour:
          type: integer
          description: The hour component of the time in the week reference.
          format: int32
        millisecond:
          type: integer
          description: The millisecond component of the time in the week reference.
          format: int32
        minute:
          type: integer
          description: The minute component of the time in the week reference.
          format: int32
        referenceType:
          type: string
          description: Indicates the type of reference, defaulting to 'WEEK'.
          enum:
            - WEEK
          default: WEEK
        second:
          type: integer
          description: The second component of the time in the week reference.
          format: int32
    PublicFiscalQuarterReference:
      title: FISCAL_QUARTER
      required:
        - day
        - month
        - referenceType
      type: object
      properties:
        day:
          type: integer
          description: >-
            The day component of the fiscal quarter reference, represented as an
            integer.
          format: int32
        hour:
          type: integer
          description: The hour component of the time in the fiscal quarter reference.
          format: int32
        millisecond:
          type: integer
          description: >-
            The millisecond component of the time in the fiscal quarter
            reference.
          format: int32
        minute:
          type: integer
          description: The minute component of the time in the fiscal quarter reference.
          format: int32
        month:
          type: integer
          description: >-
            The month component of the fiscal quarter reference, represented as
            an integer.
          format: int32
        referenceType:
          type: string
          description: Indicates the type of reference, defaulting to 'FISCAL_QUARTER'.
          enum:
            - FISCAL_QUARTER
          default: FISCAL_QUARTER
        second:
          type: integer
          description: The second component of the time in the fiscal quarter reference.
          format: int32
    PublicFiscalYearReference:
      title: FISCAL_YEAR
      required:
        - day
        - month
        - referenceType
      type: object
      properties:
        day:
          type: integer
          description: >-
            The day component of the fiscal year reference, represented as an
            integer.
          format: int32
        hour:
          type: integer
          description: The hour component of the time in the fiscal year reference.
          format: int32
        millisecond:
          type: integer
          description: The millisecond component of the time in the fiscal year reference.
          format: int32
        minute:
          type: integer
          description: The minute component of the time in the fiscal year reference.
          format: int32
        month:
          type: integer
          description: >-
            The month component of the fiscal year reference, represented as an
            integer.
          format: int32
        referenceType:
          type: string
          description: Indicates the type of reference, defaulting to 'FISCAL_YEAR'.
          enum:
            - FISCAL_YEAR
          default: FISCAL_YEAR
        second:
          type: integer
          description: The second component of the time in the fiscal year reference.
          format: int32
    PublicYearReference:
      title: YEAR
      required:
        - day
        - month
        - referenceType
      type: object
      properties:
        day:
          type: integer
          description: The day component of the year reference, represented as an integer.
          format: int32
        hour:
          type: integer
          description: The hour component of the time in the year reference.
          format: int32
        millisecond:
          type: integer
          description: The millisecond component of the time in the year reference.
          format: int32
        minute:
          type: integer
          description: The minute component of the time in the year reference.
          format: int32
        month:
          type: integer
          description: >-
            The month component of the year reference, represented as an
            integer.
          format: int32
        referenceType:
          type: string
          description: Indicates the type of reference, defaulting to 'YEAR'.
          enum:
            - YEAR
          default: YEAR
        second:
          type: integer
          description: The second component of the time in the year reference.
          format: int32
    PublicQuarterReference:
      title: QUARTER
      required:
        - day
        - month
        - referenceType
      type: object
      properties:
        day:
          type: integer
          description: The day component of the quarter reference.
          format: int32
        hour:
          type: integer
          description: The hour component of the time in the quarter reference.
          format: int32
        millisecond:
          type: integer
          description: The millisecond component of the time in the quarter reference.
          format: int32
        minute:
          type: integer
          description: The minute component of the time in the quarter reference.
          format: int32
        month:
          type: integer
          description: The month component of the quarter reference.
          format: int32
        referenceType:
          type: string
          description: Indicates the type of reference, defaulting to 'QUARTER'.
          enum:
            - QUARTER
          default: QUARTER
        second:
          type: integer
          description: The second component of the time in the quarter reference.
          format: int32
    PublicMonthReference:
      title: MONTH
      required:
        - day
        - referenceType
      type: object
      properties:
        day:
          type: integer
          description: The day component of the month reference, represented as an integer.
          format: int32
        hour:
          type: integer
          description: The hour component of the time in the month reference.
          format: int32
        millisecond:
          type: integer
          description: The millisecond component of the time in the month reference.
          format: int32
        minute:
          type: integer
          description: The minute component of the time in the month reference.
          format: int32
        referenceType:
          type: string
          description: Indicates the type of reference, defaulting to 'MONTH'.
          enum:
            - MONTH
          default: MONTH
        second:
          type: integer
          description: The second component of the time in the month reference.
          format: int32
    PublicIndexOffset:
      type: object
      properties:
        days:
          type: integer
          description: The number of days to offset in the index.
          format: int32
        hours:
          type: integer
          description: The number of hours to offset in the index.
          format: int32
        milliseconds:
          type: integer
          description: The number of milliseconds to offset in the index.
          format: int32
        minutes:
          type: integer
          description: The number of minutes to offset in the index.
          format: int32
        months:
          type: integer
          description: The number of months to offset in the index.
          format: int32
        quarters:
          type: integer
          description: The number of quarters to offset in the index.
          format: int32
        seconds:
          type: integer
          description: The number of seconds to offset in the index.
          format: int32
        weeks:
          type: integer
          description: The number of weeks to offset in the index.
          format: int32
        years:
          type: integer
          description: The number of years to offset in the index.
          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:
            automation: Workflows
    private_apps:
      type: apiKey
      name: private-app
      in: header

````