import {z} from 'zod' export type GetApiEvents202603EventDefinitionsArgs = {after?: string | undefined, includeProperties?: boolean | undefined, limit?: number | undefined, searchString?: string | undefined, sortOrder?: string | undefined}; export type GetApiEvents202603EventDefinitionsOptions = {baseUrl?: string | undefined, privateApps?: string | undefined, fetch?: typeof fetch | undefined}; export const nextPage = z.object({after: z.string(), link: z.string().optional()}); export const previousPage = z.object({before: z.string(), link: z.string().optional()}); export const paging = z.object({next: nextPage.optional(), prev: previousPage.optional()}); export const eventsDefinitionsAssociationDefinition = z.object({allowsCustomLabels: z.boolean(), cardinality: z.enum(["ONE_TO_MANY", "ONE_TO_ONE"]), category: z.enum(["HUBSPOT_DEFINED", "INTEGRATOR_DEFINED", "USER_DEFINED", "WORK"]), fromObjectType: z.enum(["ABANDONED_CART", "ACCEPTANCE_TEST", "AD", "AD_ACCOUNT", "AD_CAMPAIGN", "AD_GROUP", "AI_FORECAST", "ALL_PAGES", "APPROVAL", "APPROVAL_STEP", "ATTRIBUTION", "AUDIENCE", "AUTOMATION_JOURNEY", "AUTOMATION_PLATFORM_FLOW", "AUTOMATION_PLATFORM_FLOW_ACTION", "BET_ALERT", "BET_DELIVERABLE_SERVICE", "BLOG_LISTING_PAGE", "BLOG_POST", "CALL", "CAMPAIGN", "CAMPAIGN_BUDGET_ITEM", "CAMPAIGN_SPEND_ITEM", "CAMPAIGN_STEP", "CAMPAIGN_TEMPLATE", "CAMPAIGN_TEMPLATE_STEP", "CART", "CASE_STUDY", "CHATFLOW", "CLIP", "CMS_URL", "COMBO_EVENT_CONFIGURATION", "COMMERCE_PAYMENT", "COMMUNICATION", "COMPANY", "CONTACT", "CONTACT_CREATE_ATTRIBUTION", "CONTENT", "CONTENT_AUDIT", "CONTENT_AUDIT_PAGE", "CONVERSATION", "CONVERSATION_INBOX", "CONVERSATION_SESSION", "CRM_OBJECTS_DUMMY_TYPE", "CRM_PIPELINES_DUMMY_TYPE", "CTA", "CTA_VARIANT", "DATA_PRIVACY_CONSENT", "DATA_SYNC_STATE", "DEAL", "DEAL_CREATE_ATTRIBUTION", "DEAL_REGISTRATION", "DEAL_SPLIT", "DISCOUNT", "DISCOUNT_CODE", "DISCOUNT_TEMPLATE", "EMAIL", "ENGAGEMENT", "EXPORT", "EXTERNAL_WEB_URL", "FEE", "FEEDBACK_SUBMISSION", "FEEDBACK_SURVEY", "FILE_MANAGER_FILE", "FILE_MANAGER_FOLDER", "FOLDER", "FORECAST", "FORM", "FORM_SUBMISSION_INBOUNDDB", "GOAL_TARGET", "GOAL_TARGET_GROUP", "GOAL_TEMPLATE", "GSC_PROPERTY", "HUB", "IMPORT", "INVOICE", "KEYWORD", "KNOWLEDGE_ARTICLE", "LANDING_PAGE", "LEAD", "LINE_ITEM", "MARKETING_CALENDAR", "MARKETING_CAMPAIGN_UTM", "MARKETING_EMAIL", "MARKETING_EVENT", "MARKETING_EVENT_ATTENDANCE", "MARKETING_SMS", "MEDIA_BRIDGE", "MEETING_EVENT", "MIC", "NOTE", "OBJECT_LIST", "ORDER", "OWNER", "PARTNER_ACCOUNT", "PARTNER_CLIENT", "PARTNER_CLIENT_REVENUE", "PARTNER_SERVICE", "PAYMENT_LINK", "PAYMENT_SCHEDULE", "PAYMENT_SCHEDULE_INSTALLMENT", "PERMISSIONS_TESTING", "PLAYBOOK", "PLAYBOOK_QUESTION", "PLAYBOOK_SUBMISSION", "PLAYBOOK_SUBMISSION_ANSWER", "PLAYLIST", "PLAYLIST_FOLDER", "PODCAST_EPISODE", "PORTAL", "PORTAL_OBJECT_SYNC_MESSAGE", "POSTAL_MAIL", "PRIVACY_SCANNER_COOKIE", "PRODUCT", "PRODUCT_OR_FOLDER", "PROPERTY_INFO", "PROSPECTING_AGENT_CONTACT_ASSIGNMENT", "PUBLISHING_TASK", "QUARANTINED_SUBMISSION", "QUOTA", "QUOTE", "QUOTE_FIELD", "QUOTE_MODULE", "QUOTE_MODULE_FIELD", "QUOTE_TEMPLATE", "RESTORABLE_CRM_OBJECT", "ROSTER", "ROSTER_MEMBER", "SALES_DOCUMENT", "SALES_TASK", "SALES_WORKLOAD", "SALESFORCE_SYNC_ERROR", "SCHEDULING_PAGE", "SCHEMAS_BACKEND_TEST", "SCORE_CONFIGURATION", "SEQUENCE", "SEQUENCE_ENROLLMENT", "SEQUENCE_STEP", "SEQUENCE_STEP_ENROLLMENT", "SERVICE", "SITE_PAGE", "SNIPPET", "SOCIAL_BROADCAST", "SOCIAL_CHANNEL", "SOCIAL_POST", "SOCIAL_PROFILE", "SOX_PROTECTED_DUMMY_TYPE", "SOX_PROTECTED_TEST_TYPE", "SUBMISSION_TAG", "SUBSCRIPTION", "TASK", "TASK_TEMPLATE", "TAX", "TEMPLATE", "TICKET", "UNKNOWN", "UNSUBSCRIBE", "USER", "VIEW", "VIEW_BLOCK", "WEB_INTERACTIVE"]).optional(), fromObjectTypeId: z.string(), hasAllAssociatedObjects: z.boolean(), hasCascadingDeletes: z.boolean(), hasUserEnforcedMaxFromObjectIds: z.boolean(), hasUserEnforcedMaxToObjectIds: z.boolean(), hidden: z.boolean(), hiddenReason: z.enum(["DEFAULT", "INTERNAL", "USER_CONFIGURED"]).optional(), id: z.number().int(), inverseAllowsCustomLabels: z.boolean(), inverseCardinality: z.enum(["ONE_TO_MANY", "ONE_TO_ONE"]), inverseHasAllAssociatedObjects: z.boolean(), inverseId: z.number().int(), inverseLabel: z.string().optional(), inverseName: z.string(), isDefault: z.boolean(), isInversePrimary: z.boolean(), isPrimary: z.boolean(), label: z.string().optional(), maxFromObjectIds: z.number().int(), maxToObjectIds: z.number().int(), name: z.string(), portalUniqueIdentifier: z.string(), readOnly: z.boolean(), toObjectType: z.enum(["ABANDONED_CART", "ACCEPTANCE_TEST", "AD", "AD_ACCOUNT", "AD_CAMPAIGN", "AD_GROUP", "AI_FORECAST", "ALL_PAGES", "APPROVAL", "APPROVAL_STEP", "ATTRIBUTION", "AUDIENCE", "AUTOMATION_JOURNEY", "AUTOMATION_PLATFORM_FLOW", "AUTOMATION_PLATFORM_FLOW_ACTION", "BET_ALERT", "BET_DELIVERABLE_SERVICE", "BLOG_LISTING_PAGE", "BLOG_POST", "CALL", "CAMPAIGN", "CAMPAIGN_BUDGET_ITEM", "CAMPAIGN_SPEND_ITEM", "CAMPAIGN_STEP", "CAMPAIGN_TEMPLATE", "CAMPAIGN_TEMPLATE_STEP", "CART", "CASE_STUDY", "CHATFLOW", "CLIP", "CMS_URL", "COMBO_EVENT_CONFIGURATION", "COMMERCE_PAYMENT", "COMMUNICATION", "COMPANY", "CONTACT", "CONTACT_CREATE_ATTRIBUTION", "CONTENT", "CONTENT_AUDIT", "CONTENT_AUDIT_PAGE", "CONVERSATION", "CONVERSATION_INBOX", "CONVERSATION_SESSION", "CRM_OBJECTS_DUMMY_TYPE", "CRM_PIPELINES_DUMMY_TYPE", "CTA", "CTA_VARIANT", "DATA_PRIVACY_CONSENT", "DATA_SYNC_STATE", "DEAL", "DEAL_CREATE_ATTRIBUTION", "DEAL_REGISTRATION", "DEAL_SPLIT", "DISCOUNT", "DISCOUNT_CODE", "DISCOUNT_TEMPLATE", "EMAIL", "ENGAGEMENT", "EXPORT", "EXTERNAL_WEB_URL", "FEE", "FEEDBACK_SUBMISSION", "FEEDBACK_SURVEY", "FILE_MANAGER_FILE", "FILE_MANAGER_FOLDER", "FOLDER", "FORECAST", "FORM", "FORM_SUBMISSION_INBOUNDDB", "GOAL_TARGET", "GOAL_TARGET_GROUP", "GOAL_TEMPLATE", "GSC_PROPERTY", "HUB", "IMPORT", "INVOICE", "KEYWORD", "KNOWLEDGE_ARTICLE", "LANDING_PAGE", "LEAD", "LINE_ITEM", "MARKETING_CALENDAR", "MARKETING_CAMPAIGN_UTM", "MARKETING_EMAIL", "MARKETING_EVENT", "MARKETING_EVENT_ATTENDANCE", "MARKETING_SMS", "MEDIA_BRIDGE", "MEETING_EVENT", "MIC", "NOTE", "OBJECT_LIST", "ORDER", "OWNER", "PARTNER_ACCOUNT", "PARTNER_CLIENT", "PARTNER_CLIENT_REVENUE", "PARTNER_SERVICE", "PAYMENT_LINK", "PAYMENT_SCHEDULE", "PAYMENT_SCHEDULE_INSTALLMENT", "PERMISSIONS_TESTING", "PLAYBOOK", "PLAYBOOK_QUESTION", "PLAYBOOK_SUBMISSION", "PLAYBOOK_SUBMISSION_ANSWER", "PLAYLIST", "PLAYLIST_FOLDER", "PODCAST_EPISODE", "PORTAL", "PORTAL_OBJECT_SYNC_MESSAGE", "POSTAL_MAIL", "PRIVACY_SCANNER_COOKIE", "PRODUCT", "PRODUCT_OR_FOLDER", "PROPERTY_INFO", "PROSPECTING_AGENT_CONTACT_ASSIGNMENT", "PUBLISHING_TASK", "QUARANTINED_SUBMISSION", "QUOTA", "QUOTE", "QUOTE_FIELD", "QUOTE_MODULE", "QUOTE_MODULE_FIELD", "QUOTE_TEMPLATE", "RESTORABLE_CRM_OBJECT", "ROSTER", "ROSTER_MEMBER", "SALES_DOCUMENT", "SALES_TASK", "SALES_WORKLOAD", "SALESFORCE_SYNC_ERROR", "SCHEDULING_PAGE", "SCHEMAS_BACKEND_TEST", "SCORE_CONFIGURATION", "SEQUENCE", "SEQUENCE_ENROLLMENT", "SEQUENCE_STEP", "SEQUENCE_STEP_ENROLLMENT", "SERVICE", "SITE_PAGE", "SNIPPET", "SOCIAL_BROADCAST", "SOCIAL_CHANNEL", "SOCIAL_POST", "SOCIAL_PROFILE", "SOX_PROTECTED_DUMMY_TYPE", "SOX_PROTECTED_TEST_TYPE", "SUBMISSION_TAG", "SUBSCRIPTION", "TASK", "TASK_TEMPLATE", "TAX", "TEMPLATE", "TICKET", "UNKNOWN", "UNSUBSCRIBE", "USER", "VIEW", "VIEW_BLOCK", "WEB_INTERACTIVE"]).optional(), toObjectTypeId: z.string()}); export const eventsDefinitionsPropertyFilterContext = z.object({objectTypeId: z.string()}); export const eventsDefinitionsBoolPropertyOperation = z.object({defaultValue: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), operationType: z.string(), operator: z.enum(["HAS_EVER_BEEN_EQUAL_TO", "HAS_NEVER_BEEN_EQUAL_TO", "IS_EQUAL_TO", "IS_NOT_EQUAL_TO"]), operatorName: z.string(), propertyType: z.literal("bool"), renderSpec: z.string().optional(), value: z.boolean()}); export const eventsDefinitionsNumberPropertyOperation = z.object({defaultValue: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), operationType: z.string(), operator: z.enum(["HAS_EVER_BEEN_EQUAL_TO", "HAS_NEVER_BEEN_EQUAL_TO", "IS_EQUAL_TO", "IS_GREATER_THAN", "IS_GREATER_THAN_OR_EQUAL_TO", "IS_LESS_THAN", "IS_LESS_THAN_OR_EQUAL_TO", "IS_NOT_EQUAL_TO"]), operatorName: z.string(), propertyType: z.literal("number"), renderSpec: z.string().optional(), value: z.number()}); export const eventsDefinitionsStringPropertyOperation = z.object({defaultValue: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), operationType: z.string(), operator: z.enum(["CONTAINS", "DOES_NOT_CONTAIN", "ENDS_WITH", "HAS_EVER_BEEN_EQUAL_TO", "HAS_EVER_CONTAINED", "HAS_NEVER_BEEN_EQUAL_TO", "HAS_NEVER_CONTAINED", "IS_EQUAL_TO", "IS_NOT_EQUAL_TO", "STARTS_WITH"]), operatorName: z.string(), propertyType: z.literal("string"), renderSpec: z.string().optional(), value: z.string()}); export const eventsDefinitionsDateTimePropertyOperation = z.object({defaultValue: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), operationType: z.string(), operator: z.enum(["IS_AFTER", "IS_AFTER_DATE", "IS_BEFORE", "IS_BEFORE_DATE", "IS_EQUAL_TO"]), operatorName: z.string(), propertyType: z.literal("datetime"), renderSpec: z.string().optional(), requiresTimeZoneConversion: z.boolean(), timestamp: z.number().int()}); export const eventsDefinitionsRangedDatePropertyOperation = z.object({defaultValue: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), lowerBoundTimestamp: z.number().int(), operationType: z.string(), operator: z.enum(["IS_BETWEEN", "IS_NOT_BETWEEN"]), operatorName: z.string(), propertyType: z.literal("datetime-ranged"), renderSpec: z.string().optional(), requiresTimeZoneConversion: z.boolean(), upperBoundTimestamp: z.number().int()}); export const eventsDefinitionsComparativeDatePropertyOperation = z.object({comparisonPropertyName: z.string(), defaultComparisonValue: z.string().optional(), defaultValue: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), operationType: z.string(), operator: z.enum(["IS_AFTER", "IS_BEFORE"]), operatorName: z.string(), propertyType: z.literal("datetime-comparative"), renderSpec: z.string().optional()}); export const eventsDefinitionsComparativeBoolPropertyOperation = z.object({comparisonPropertyName: z.string(), defaultValue: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), operationType: z.string(), operator: z.enum(["IS_EQUAL_TO", "IS_NOT_EQUAL_TO"]), operatorName: z.string(), propertyType: z.literal("bool-comparative"), renderSpec: z.string().optional()}); export const eventsDefinitionsComparativeNumberPropertyOperation = z.object({comparisonPropertyName: z.string(), defaultValue: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), operationType: z.string(), operator: z.enum(["IS_EQUAL_TO", "IS_GREATER_THAN", "IS_GREATER_THAN_OR_EQUAL_TO", "IS_LESS_THAN", "IS_LESS_THAN_OR_EQUAL_TO", "IS_NOT_EQUAL_TO"]), operatorName: z.string(), propertyType: z.literal("number-comparative"), renderSpec: z.string().optional()}); export const eventsDefinitionsComparativeStringPropertyOperation = z.object({comparisonPropertyName: z.string(), defaultValue: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), operationType: z.string(), operator: z.enum(["CONTAINS", "DOES_NOT_CONTAIN", "ENDS_WITH", "IS_EQUAL_TO", "IS_NOT_EQUAL_TO", "STARTS_WITH"]), operatorName: z.string(), propertyType: z.literal("string-comparative"), renderSpec: z.string().optional()}); export const eventsDefinitionsComparativePropertyUpdatedOperation = z.object({comparisonPropertyName: z.string(), defaultComparisonValue: z.string().optional(), defaultValue: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), operationType: z.string(), operator: z.enum(["IS_AFTER", "IS_BEFORE"]), operatorName: z.string(), propertyType: z.literal("property-updated-comparative"), renderSpec: z.string().optional()}); export const eventsDefinitionsRollingDateRangePropertyOperation = z.object({defaultValue: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), numberOfDays: z.number().int(), operationType: z.string(), operator: z.enum(["IS_LESS_THAN_X_DAYS_AGO", "IS_LESS_THAN_X_DAYS_FROM_NOW", "IS_MORE_THAN_X_DAYS_AGO", "IS_MORE_THAN_X_DAYS_FROM_NOW"]), operatorName: z.string(), propertyType: z.literal("datetime-rolling"), renderSpec: z.string().optional(), requiresTimeZoneConversion: z.boolean()}); export const eventsDefinitionsRollingPropertyUpdatedOperation = z.object({defaultValue: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), numberOfDays: z.number().int(), operationType: z.string(), operator: z.enum(["NOT_UPDATED_IN_LAST_X_DAYS", "UPDATED_IN_LAST_X_DAYS"]), operatorName: z.string(), propertyType: z.literal("rolling-property-updated"), renderSpec: z.string().optional()}); export const eventsDefinitionsEnumerationPropertyOperation = z.object({defaultValue: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), operationType: z.string(), operator: z.enum(["CONTAINS_ALL", "DOES_NOT_CONTAIN_ALL", "HAS_EVER_BEEN_ANY_OF", "HAS_EVER_BEEN_EXACTLY", "HAS_EVER_CONTAINED_ALL", "HAS_NEVER_BEEN_ANY_OF", "HAS_NEVER_BEEN_EXACTLY", "HAS_NEVER_CONTAINED_ALL", "IS_ANY_OF", "IS_EXACTLY", "IS_NONE_OF", "IS_NOT_EXACTLY"]), operatorName: z.string(), propertyType: z.literal("enumeration"), renderSpec: z.string().optional(), values: z.array(z.string())}); export const eventsDefinitionsNumOccurrencesRefineBy = z.object({maxOccurrences: z.number().int().optional(), minOccurrences: z.number().int().optional(), type: z.literal("NumOccurrencesRefineBy")}); export const eventsDefinitionsSetOccurrencesRefineBy = z.object({setType: z.enum(["ALL", "ALL_INCLUDE_EMPTY", "ANY", "ANY_INCLUDE_EMPTY", "NONE", "NONE_EXCLUDE_EMPTY"]), type: z.literal("SetOccurrencesRefineBy")}); export const eventsDefinitionsTimeOffset = z.object({amount: z.number().int(), offsetDirection: z.enum(["FUTURE", "PAST"]), timeUnit: z.enum(["DAYS", "HOURS", "MINUTES", "WEEKS"])}); export const eventsDefinitionsRelativeComparativeTimestampRefineBy = z.object({comparison: z.enum(["AFTER", "BEFORE"]), timeOffset: eventsDefinitionsTimeOffset, type: z.literal("RelativeComparativeTimestampRefineBy")}); export const eventsDefinitionsRelativeRangedTimestampRefineBy = z.object({lowerBoundOffset: eventsDefinitionsTimeOffset, rangeType: z.enum(["BETWEEN", "NOT_BETWEEN"]), type: z.literal("RelativeRangedTimestampRefineBy"), upperBoundOffset: eventsDefinitionsTimeOffset}); export const eventsDefinitionsAbsoluteComparativeTimestampRefineBy = z.object({comparison: z.enum(["AFTER", "BEFORE"]), timestamp: z.number().int(), type: z.literal("AbsoluteComparativeTimestampRefineBy")}); export const eventsDefinitionsAbsoluteRangedTimestampRefineBy = z.object({lowerTimestamp: z.number().int(), rangeType: z.enum(["BETWEEN", "NOT_BETWEEN"]), type: z.literal("AbsoluteRangedTimestampRefineBy"), upperTimestamp: z.number().int()}); export const eventsDefinitionsAllHistoryRefineBy = z.object({type: z.literal("AllHistoryRefineBy")}); export const eventsDefinitionsDatePoint = z.object({day: z.number().int(), hour: z.number().int().optional(), millisecond: z.number().int().optional(), minute: z.number().int().optional(), month: z.number().int(), second: z.number().int().optional(), timeType: z.literal("DATE"), timezoneSource: z.enum(["CUSTOM", "PORTAL", "USER"]), year: z.number().int(), zoneId: z.string()}); export const eventsDefinitionsNowReference = z.object({hour: z.number().int().optional(), millisecond: z.number().int().optional(), minute: z.number().int().optional(), referenceType: z.literal("NOW"), second: z.number().int().optional()}); export const eventsDefinitionsTodayReference = z.object({hour: z.number().int().optional(), millisecond: z.number().int().optional(), minute: z.number().int().optional(), referenceType: z.literal("TODAY"), second: z.number().int().optional()}); export const eventsDefinitionsWeekReference = z.object({dayOfWeek: z.enum(["FRIDAY", "MONDAY", "SATURDAY", "SUNDAY", "THURSDAY", "TUESDAY", "WEDNESDAY"]), hour: z.number().int().optional(), millisecond: z.number().int().optional(), minute: z.number().int().optional(), referenceType: z.literal("WEEK"), second: z.number().int().optional()}); export const eventsDefinitionsMonthReference = z.object({day: z.number().int(), hour: z.number().int().optional(), millisecond: z.number().int().optional(), minute: z.number().int().optional(), referenceType: z.literal("MONTH"), second: z.number().int().optional()}); export const eventsDefinitionsQuarterReference = z.object({day: z.number().int(), hour: z.number().int().optional(), millisecond: z.number().int().optional(), minute: z.number().int().optional(), month: z.number().int(), referenceType: z.literal("QUARTER"), second: z.number().int().optional()}); export const eventsDefinitionsFiscalQuarter = z.object({day: z.number().int(), hour: z.number().int().optional(), millisecond: z.number().int().optional(), minute: z.number().int().optional(), month: z.number().int(), referenceType: z.literal("FISCAL_QUARTER"), second: z.number().int().optional()}); export const eventsDefinitionsYearReference = z.object({day: z.number().int(), hour: z.number().int().optional(), millisecond: z.number().int().optional(), minute: z.number().int().optional(), month: z.number().int(), referenceType: z.literal("YEAR"), second: z.number().int().optional()}); export const eventsDefinitionsFiscalYear = z.object({day: z.number().int(), hour: z.number().int().optional(), millisecond: z.number().int().optional(), minute: z.number().int().optional(), month: z.number().int(), referenceType: z.literal("FISCAL_YEAR"), second: z.number().int().optional()}); export const eventsDefinitionsIndexOffset = z.object({days: z.number().int().optional(), hours: z.number().int().optional(), milliseconds: z.number().int().optional(), minutes: z.number().int().optional(), months: z.number().int().optional(), quarters: z.number().int().optional(), seconds: z.number().int().optional(), weeks: z.number().int().optional(), years: z.number().int().optional()}); export const eventsDefinitionsIndexedTimePoint = z.object({indexReference: z.union([eventsDefinitionsNowReference, eventsDefinitionsTodayReference, eventsDefinitionsWeekReference, eventsDefinitionsMonthReference, eventsDefinitionsQuarterReference, eventsDefinitionsFiscalQuarter, eventsDefinitionsYearReference, eventsDefinitionsFiscalYear]), offset: eventsDefinitionsIndexOffset.optional(), shouldGenerateRefreshTime: z.boolean().optional(), timeType: z.literal("INDEXED"), timezoneSource: z.enum(["CUSTOM", "PORTAL", "USER"]), zoneId: z.string()}); export const eventsDefinitionsPropertyReferencedTime = z.object({property: z.string(), referenceType: z.enum(["ANNIVERSARY", "ANNIVERSARY_WITH_ZONE_SAME_LOCAL_CONVERSION", "UPDATED_AT", "VALUE", "VALUE_WITH_ZONE_SAME_LOCAL_CONVERSION"]), timeType: z.literal("PROPERTY_REFERENCED"), timezoneSource: z.enum(["CUSTOM", "PORTAL", "USER"]), zoneId: z.string()}); export const eventsDefinitionsTimePointOperation = z.object({defaultValue: z.string().optional(), endpointBehavior: z.enum(["EXCLUSIVE", "INCLUSIVE"]), includeObjectsWithNoValueSet: z.boolean(), operationType: z.string(), operator: z.enum(["IS_AFTER", "IS_BEFORE"]), operatorName: z.string(), propertyParser: z.enum(["ANNIVERSARY", "ANNIVERSARY_WITH_ZONE_SAME_LOCAL_CONVERSION", "UPDATED_AT", "VALUE", "VALUE_WITH_ZONE_SAME_LOCAL_CONVERSION"]), propertyType: z.literal("timepoint"), renderSpec: z.string().optional(), timePoint: z.union([eventsDefinitionsDatePoint, eventsDefinitionsIndexedTimePoint, eventsDefinitionsPropertyReferencedTime]), type: z.string()}); export const eventsDefinitionsRangedTimeOperation = z.object({defaultValue: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), lowerBoundEndpointBehavior: z.enum(["EXCLUSIVE", "INCLUSIVE"]), lowerBoundTimePoint: z.union([eventsDefinitionsDatePoint, eventsDefinitionsIndexedTimePoint, eventsDefinitionsPropertyReferencedTime]), operationType: z.string(), operator: z.enum(["IS_BETWEEN", "IS_NOT_BETWEEN"]), operatorName: z.string(), propertyParser: z.enum(["ANNIVERSARY", "ANNIVERSARY_WITH_ZONE_SAME_LOCAL_CONVERSION", "UPDATED_AT", "VALUE", "VALUE_WITH_ZONE_SAME_LOCAL_CONVERSION"]), propertyType: z.literal("rangedtime"), renderSpec: z.string().optional(), type: z.string(), upperBoundEndpointBehavior: z.enum(["EXCLUSIVE", "INCLUSIVE"]), upperBoundTimePoint: z.union([eventsDefinitionsDatePoint, eventsDefinitionsIndexedTimePoint, eventsDefinitionsPropertyReferencedTime])}); export const eventsDefinitionsAllPropertyTypesOperation = z.object({coalescingRefineBy: z.union([eventsDefinitionsNumOccurrencesRefineBy, eventsDefinitionsSetOccurrencesRefineBy]), defaultValue: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), operationType: z.string(), operator: z.enum(["IS_BLANK", "IS_KNOWN", "IS_NOT_BLANK", "IS_UNKNOWN"]), operatorName: z.string(), propertyType: z.literal("alltypes"), pruningRefineBy: z.union([eventsDefinitionsRelativeComparativeTimestampRefineBy, eventsDefinitionsRelativeRangedTimestampRefineBy, eventsDefinitionsAbsoluteComparativeTimestampRefineBy, eventsDefinitionsAbsoluteRangedTimestampRefineBy, eventsDefinitionsAllHistoryRefineBy, eventsDefinitionsTimePointOperation, eventsDefinitionsRangedTimeOperation]).optional(), renderSpec: z.string().optional()}); export const eventsDefinitionsRangedNumberPropertyOperation = z.object({defaultValue: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), lowerBound: z.number(), operationType: z.string(), operator: z.enum(["IS_BETWEEN", "IS_NOT_BETWEEN"]), operatorName: z.string(), propertyType: z.literal("number-ranged"), renderSpec: z.string().optional(), upperBound: z.number()}); export const eventsDefinitionsMultiStringPropertyOperation = z.object({coalescingRefineBy: z.union([eventsDefinitionsNumOccurrencesRefineBy, eventsDefinitionsSetOccurrencesRefineBy]), defaultValue: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), operationType: z.string(), operator: z.enum(["CONTAINS", "CONTAINS_EXACTLY", "DOES_NOT_CONTAIN", "DOES_NOT_CONTAIN_EXACTLY", "ENDS_WITH", "IS_EQUAL_TO", "IS_NOT_EQUAL_TO", "STARTS_WITH"]), operatorName: z.string(), propertyType: z.literal("multistring"), pruningRefineBy: z.union([eventsDefinitionsRelativeComparativeTimestampRefineBy, eventsDefinitionsRelativeRangedTimestampRefineBy, eventsDefinitionsAbsoluteComparativeTimestampRefineBy, eventsDefinitionsAbsoluteRangedTimestampRefineBy, eventsDefinitionsAllHistoryRefineBy, eventsDefinitionsTimePointOperation, eventsDefinitionsRangedTimeOperation]).optional(), renderSpec: z.string().optional(), values: z.array(z.string())}); export const eventsDefinitionsDatePropertyOperation = z.object({day: z.number().int(), defaultValue: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), month: z.enum(["APR", "AUG", "DEC", "FEB", "JAN", "JUL", "JUN", "MAR", "MAY", "NOV", "OCT", "SEP"]), operationType: z.string(), operator: z.enum(["AFTER", "BEFORE", "EQUAL"]), operatorName: z.string(), propertyType: z.literal("date"), renderSpec: z.string().optional(), year: z.number().int()}); export const eventsDefinitionsCalendarDatePropertyOperation = z.object({defaultValue: z.string().optional(), fiscalYearStart: z.enum(["APRIL", "AUGUST", "DECEMBER", "FEBRUARY", "JANUARY", "JULY", "JUNE", "MARCH", "MAY", "NOVEMBER", "OCTOBER", "SEPTEMBER"]).optional(), includeObjectsWithNoValueSet: z.boolean(), operationType: z.string(), operator: z.enum(["IN_LAST_TIME_UNIT", "IN_NEXT_TIME_UNIT", "IN_THIS_TIME_UNIT", "IN_THIS_TIME_UNIT_SO_FAR"]), operatorName: z.string(), propertyType: z.literal("calendar-date"), renderSpec: z.string().optional(), timeUnit: z.enum(["DAY", "MONTH", "QUARTER", "WEEK", "YEAR"]), timeUnitCount: z.number().int(), useFiscalYear: z.boolean()}); export const eventsDefinitionsRegexPropertyOperation = z.object({caseSensitive: z.boolean(), defaultValue: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), operationType: z.string(), operator: z.enum(["DOES_NOT_MATCH_REGEX", "MATCHES_REGEX"]), operatorName: z.string(), pattern: z.string(), propertyType: z.literal("regex"), renderSpec: z.string().optional()}); export const eventsDefinitionsPropertyFilter = z.object({context: eventsDefinitionsPropertyFilterContext.optional(), filterInsightsId: z.number().int().optional(), filterType: z.literal("PROPERTY"), frameworkFilterId: z.number().int().optional(), operation: z.union([eventsDefinitionsBoolPropertyOperation, eventsDefinitionsNumberPropertyOperation, eventsDefinitionsStringPropertyOperation, eventsDefinitionsDateTimePropertyOperation, eventsDefinitionsRangedDatePropertyOperation, eventsDefinitionsComparativeDatePropertyOperation, eventsDefinitionsComparativeBoolPropertyOperation, eventsDefinitionsComparativeNumberPropertyOperation, eventsDefinitionsComparativeStringPropertyOperation, eventsDefinitionsComparativePropertyUpdatedOperation, eventsDefinitionsRollingDateRangePropertyOperation, eventsDefinitionsRollingPropertyUpdatedOperation, eventsDefinitionsEnumerationPropertyOperation, eventsDefinitionsAllPropertyTypesOperation, eventsDefinitionsRangedNumberPropertyOperation, eventsDefinitionsMultiStringPropertyOperation, eventsDefinitionsDatePropertyOperation, eventsDefinitionsCalendarDatePropertyOperation, eventsDefinitionsTimePointOperation, eventsDefinitionsRangedTimeOperation, eventsDefinitionsRegexPropertyOperation]), property: z.string()}); export const eventsDefinitionsComboEventRule = z.object({count: z.number().int(), eventTypeId: z.string(), lookbackWindowDays: z.number().int().optional(), propertyFilters: z.array(eventsDefinitionsPropertyFilter)}); export const eventsDefinitionsComboEventRuleBranch: z.ZodType = z.object({composingRules: z.array(eventsDefinitionsComboEventRule), operationType: z.enum(["AND", "OR"]), ruleBranches: z.array(z.lazy(() => eventsDefinitionsComboEventRuleBranch))}); export const eventsDefinitionsExternalPrimaryObjectResolutionRule = z.object({eventPropertyName: z.string(), targetObjectPropertyName: z.string()}); export const eventsDefinitionsExternalObjectResolutionMappingResponse = z.object({primaryObjectRule: eventsDefinitionsExternalPrimaryObjectResolutionRule}); export const eventsDefinitionsBehavioralEventTypeDefinitionLabels = z.object({plural: z.string().optional(), singular: z.string()}); export const propertyModificationMetadata = z.object({archivable: z.boolean(), readOnlyDefinition: z.boolean(), readOnlyOptions: z.boolean().optional(), readOnlyValue: z.boolean()}); export const option = z.object({description: z.string().optional(), displayOrder: z.number().int().optional(), hidden: z.boolean(), label: z.string(), value: z.string()}); export const property = z.object({archived: z.boolean().optional(), archivedAt: z.string().optional(), calculated: z.boolean().optional(), calculationFormula: z.string().optional(), createdAt: z.string().optional(), createdUserId: z.string().optional(), currencyPropertyName: z.string().optional(), dataSensitivity: z.enum(["highly_sensitive", "non_sensitive", "sensitive"]).optional(), dateDisplayHint: z.enum(["absolute", "absolute_with_relative", "time_since", "time_until"]).optional(), description: z.string(), displayOrder: z.number().int().optional(), externalOptions: z.boolean().optional(), fieldType: z.string(), formField: z.boolean().optional(), groupName: z.string(), hasUniqueValue: z.boolean().optional(), hidden: z.boolean().optional(), hubspotDefined: z.boolean().optional(), label: z.string(), modificationMetadata: propertyModificationMetadata.optional(), name: z.string(), numberDisplayHint: z.enum(["currency", "duration", "formatted", "percentage", "probability", "unformatted"]).optional(), options: z.array(option), referencedObjectType: z.string().optional(), sensitiveDataCategories: z.array(z.string()).optional(), showCurrencySymbol: z.boolean().optional(), type: z.string(), updatedAt: z.string().optional(), updatedUserId: z.string().optional()}); export const eventsDefinitionsExternalBehavioralEventTypeDefinition = z.object({archived: z.boolean(), associations: z.array(eventsDefinitionsAssociationDefinition), comboEventRules: eventsDefinitionsComboEventRuleBranch.optional(), createdAt: z.string().optional(), createdUserId: z.number().int().optional(), customMatchingId: eventsDefinitionsExternalObjectResolutionMappingResponse.optional(), description: z.string().optional(), detailTemplate: z.string().optional(), fullyQualifiedName: z.string(), headerTemplate: z.string().optional(), id: z.string(), labels: eventsDefinitionsBehavioralEventTypeDefinitionLabels, name: z.string(), objectTypeId: z.string(), primaryObject: z.string().optional(), primaryObjectId: z.string().optional(), properties: z.array(property), trackingType: z.enum(["APP_EVENT", "AUTOCAPTURE_EVENT", "CLICKED_ELEMENT", "COMBO_EVENT", "CUSTOM_SCRIPT", "CUSTOM_SIGNAL", "IMPORT", "MANUAL", "PROPERTY_CHANGE", "VISITED_URL", "WEBHOOK"]).optional(), updatedAt: z.string().optional(), updatedUserId: z.number().int().optional()}); export const eventsDefinitionsCollectionResponseWithTotalExternalBehavioralEventTypeDefinition = z.object({paging: paging.optional(), results: z.array(eventsDefinitionsExternalBehavioralEventTypeDefinition), total: z.number().int()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Retrieve event definitions * * GET /events/2026-03/event-definitions * * Also accepts auth: developer_hapikey */ export const getApiEvents202603EventDefinitions = async (args: GetApiEvents202603EventDefinitionsArgs, options?: GetApiEvents202603EventDefinitionsOptions) => { const {baseUrl = "https://api.hubapi.com", fetch: fetchFn = fetch, privateApps} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") if (args.after != null) query.append("after", String(args.after)) if (args.includeProperties != null) query.append("includeProperties", String(args.includeProperties)) if (args.limit != null) query.append("limit", String(args.limit)) if (args.searchString != null) query.append("searchString", String(args.searchString)) if (args.sortOrder != null) query.append("sortOrder", String(args.sortOrder)) if (privateApps !== undefined) headers.set('authorization', `Bearer ${privateApps}`) const url = `${baseUrl.replace(/\/+$/, '')}/events/2026-03/event-definitions${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(eventsDefinitionsCollectionResponseWithTotalExternalBehavioralEventTypeDefinition, await res.json()) };