import {z} from 'zod' export type GetApiCrmLists202603ListIdArgs = {listId: string, includeFilters?: boolean | undefined}; export type GetApiCrmLists202603ListIdOptions = {baseUrl?: string | undefined, privateApps?: string | undefined, fetch?: typeof fetch | undefined}; export const crmListsPublicNumOccurrencesRefineBy = z.object({maxOccurrences: z.number().int().optional(), minOccurrences: z.number().int().optional(), type: z.literal("NUM_OCCURRENCES")}); export const crmListsPublicSetOccurrencesRefineBy = z.object({setType: z.string(), type: z.literal("SET_OCCURRENCES")}); export const crmListsPublicTimeOffset = z.object({amount: z.number().int(), offsetDirection: z.string(), timeUnit: z.string()}); export const crmListsPublicRelativeComparativeTimestampRefineBy = z.object({comparison: z.string(), timeOffset: crmListsPublicTimeOffset, type: z.literal("RELATIVE_COMPARATIVE")}); export const crmListsPublicRelativeRangedTimestampRefineBy = z.object({lowerBoundOffset: crmListsPublicTimeOffset, rangeType: z.string(), type: z.literal("RELATIVE_RANGED"), upperBoundOffset: crmListsPublicTimeOffset}); export const crmListsPublicAbsoluteComparativeTimestampRefineBy = z.object({comparison: z.string(), timestamp: z.number().int(), type: z.literal("ABSOLUTE_COMPARATIVE")}); export const crmListsPublicAbsoluteRangedTimestampRefineBy = z.object({lowerTimestamp: z.number().int(), rangeType: z.string(), type: z.literal("ABSOLUTE_RANGED"), upperTimestamp: z.number().int()}); export const crmListsPublicAllHistoryRefineBy = z.object({type: z.literal("ALL_HISTORY")}); export const crmListsPublicDatePoint = 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.string().optional(), year: z.number().int(), zoneId: z.string()}); export const crmListsPublicNowReference = 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 crmListsPublicTodayReference = 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 crmListsPublicWeekReference = 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 crmListsPublicFiscalQuarterReference = 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 crmListsPublicFiscalYearReference = 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 crmListsPublicYearReference = 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 crmListsPublicQuarterReference = 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 crmListsPublicMonthReference = 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 crmListsPublicIndexOffset = 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 crmListsPublicIndexedTimePoint = z.object({indexReference: z.union([crmListsPublicNowReference, crmListsPublicTodayReference, crmListsPublicWeekReference, crmListsPublicFiscalQuarterReference, crmListsPublicFiscalYearReference, crmListsPublicYearReference, crmListsPublicQuarterReference, crmListsPublicMonthReference]), offset: crmListsPublicIndexOffset.optional(), timeType: z.literal("INDEXED"), timezoneSource: z.string().optional(), zoneId: z.string()}); export const crmListsPublicPropertyReferencedTime = z.object({property: z.string(), referenceType: z.string(), timeType: z.literal("PROPERTY_REFERENCED"), timezoneSource: z.string().optional(), zoneId: z.string()}); export const crmListsPublicTimePointOperation = z.object({endpointBehavior: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), operationType: z.literal("TIME_POINT"), operator: z.string(), propertyParser: z.string().optional(), timePoint: z.union([crmListsPublicDatePoint, crmListsPublicIndexedTimePoint, crmListsPublicPropertyReferencedTime]), type: z.string()}); export const crmListsPublicRangedTimeOperation = z.object({includeObjectsWithNoValueSet: z.boolean(), lowerBoundEndpointBehavior: z.string().optional(), lowerBoundTimePoint: z.union([crmListsPublicDatePoint, crmListsPublicIndexedTimePoint, crmListsPublicPropertyReferencedTime]), operationType: z.literal("TIME_RANGED"), operator: z.string(), propertyParser: z.string().optional(), type: z.literal("TIME_RANGED"), upperBoundEndpointBehavior: z.string().optional(), upperBoundTimePoint: z.union([crmListsPublicDatePoint, crmListsPublicIndexedTimePoint, crmListsPublicPropertyReferencedTime])}); export const crmListsPublicBoolPropertyOperation = z.object({includeObjectsWithNoValueSet: z.boolean(), operationType: z.literal("BOOL"), operator: z.string(), value: z.boolean()}); export const crmListsPublicNumberPropertyOperation = z.object({includeObjectsWithNoValueSet: z.boolean(), operationType: z.literal("NUMBER"), operator: z.string(), value: z.number()}); export const crmListsPublicStringPropertyOperation = z.object({includeObjectsWithNoValueSet: z.boolean(), operationType: z.literal("STRING"), operator: z.string(), value: z.string()}); export const crmListsPublicDateTimePropertyOperation = z.object({includeObjectsWithNoValueSet: z.boolean(), operationType: z.literal("DATETIME"), operator: z.string(), requiresTimeZoneConversion: z.boolean(), timestamp: z.number().int()}); export const crmListsPublicRangedDatePropertyOperation = z.object({includeObjectsWithNoValueSet: z.boolean(), lowerBound: z.number().int(), operationType: z.literal("RANGED_DATE"), operator: z.string(), requiresTimeZoneConversion: z.boolean(), upperBound: z.number().int()}); export const crmListsPublicComparativePropertyUpdatedOperation = z.object({comparisonPropertyName: z.string(), defaultComparisonValue: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), operationType: z.literal("COMPARATIVE_PROPERTY_UPDATED"), operator: z.string()}); export const crmListsPublicComparativeDatePropertyOperation = z.object({comparisonPropertyName: z.string(), defaultComparisonValue: z.string().optional(), includeObjectsWithNoValueSet: z.boolean(), operationType: z.literal("COMPARATIVE_DATE"), operator: z.string()}); export const crmListsPublicRollingDateRangePropertyOperation = z.object({includeObjectsWithNoValueSet: z.boolean(), numberOfDays: z.number().int(), operationType: z.literal("ROLLING_DATE_RANGE"), operator: z.string(), requiresTimeZoneConversion: z.boolean()}); export const crmListsPublicRollingPropertyUpdatedOperation = z.object({includeObjectsWithNoValueSet: z.boolean(), numberOfDays: z.number().int(), operationType: z.literal("ROLLING_PROPERTY_UPDATED"), operator: z.string()}); export const crmListsPublicEnumerationPropertyOperation = z.object({includeObjectsWithNoValueSet: z.boolean(), operationType: z.literal("ENUMERATION"), operator: z.string(), values: z.array(z.string())}); export const crmListsPublicAllPropertyTypesOperation = z.object({includeObjectsWithNoValueSet: z.boolean(), operationType: z.literal("ALL_PROPERTY"), operator: z.string()}); export const crmListsPublicRangedNumberPropertyOperation = z.object({includeObjectsWithNoValueSet: z.boolean(), lowerBound: z.number().int(), operationType: z.literal("NUMBER_RANGED"), operator: z.string(), upperBound: z.number().int()}); export const crmListsPublicMultiStringPropertyOperation = z.object({includeObjectsWithNoValueSet: z.boolean(), operationType: z.literal("MULTISTRING"), operator: z.string(), values: z.array(z.string())}); export const crmListsPublicDatePropertyOperation = z.object({day: z.number().int(), includeObjectsWithNoValueSet: z.boolean(), month: z.string(), operationType: z.literal("DATE"), operator: z.string(), year: z.number().int()}); export const crmListsPublicCalendarDatePropertyOperation = z.object({fiscalYearStart: z.enum(["APRIL", "AUGUST", "DECEMBER", "FEBRUARY", "JANUARY", "JULY", "JUNE", "MARCH", "MAY", "NOVEMBER", "OCTOBER", "SEPTEMBER"]).optional(), includeObjectsWithNoValueSet: z.boolean(), operationType: z.literal("CALENDAR_DATE"), operator: z.string(), timeUnit: z.string(), timeUnitCount: z.number().int().optional(), useFiscalYear: z.boolean().optional()}); export const crmListsPublicPropertyFilter = z.object({filterType: z.literal("PROPERTY"), operation: z.discriminatedUnion("operationType", [crmListsPublicBoolPropertyOperation, crmListsPublicNumberPropertyOperation, crmListsPublicStringPropertyOperation, crmListsPublicDateTimePropertyOperation, crmListsPublicRangedDatePropertyOperation, crmListsPublicComparativePropertyUpdatedOperation, crmListsPublicComparativeDatePropertyOperation, crmListsPublicRollingDateRangePropertyOperation, crmListsPublicRollingPropertyUpdatedOperation, crmListsPublicEnumerationPropertyOperation, crmListsPublicAllPropertyTypesOperation, crmListsPublicRangedNumberPropertyOperation, crmListsPublicMultiStringPropertyOperation, crmListsPublicDatePropertyOperation, crmListsPublicCalendarDatePropertyOperation, crmListsPublicTimePointOperation, crmListsPublicRangedTimeOperation]), property: z.string()}); export const crmListsPublicAssociationInListFilter = z.object({associationCategory: z.string(), associationTypeId: z.number().int(), coalescingRefineBy: z.union([crmListsPublicNumOccurrencesRefineBy, crmListsPublicSetOccurrencesRefineBy, crmListsPublicRelativeComparativeTimestampRefineBy, crmListsPublicRelativeRangedTimestampRefineBy, crmListsPublicAbsoluteComparativeTimestampRefineBy, crmListsPublicAbsoluteRangedTimestampRefineBy, crmListsPublicAllHistoryRefineBy, crmListsPublicTimePointOperation, crmListsPublicRangedTimeOperation]), filterType: z.literal("ASSOCIATION"), listId: z.string(), operator: z.string(), toObjectType: z.string().optional(), toObjectTypeId: z.string().optional()}); export const crmListsPublicPageViewAnalyticsFilter = z.object({coalescingRefineBy: z.union([crmListsPublicNumOccurrencesRefineBy, crmListsPublicSetOccurrencesRefineBy, crmListsPublicRelativeComparativeTimestampRefineBy, crmListsPublicRelativeRangedTimestampRefineBy, crmListsPublicAbsoluteComparativeTimestampRefineBy, crmListsPublicAbsoluteRangedTimestampRefineBy, crmListsPublicAllHistoryRefineBy, crmListsPublicTimePointOperation, crmListsPublicRangedTimeOperation]).optional(), enableTracking: z.boolean().optional(), filterType: z.literal("PAGE_VIEW"), operator: z.string(), pageUrl: z.string(), pruningRefineBy: z.union([crmListsPublicNumOccurrencesRefineBy, crmListsPublicSetOccurrencesRefineBy, crmListsPublicRelativeComparativeTimestampRefineBy, crmListsPublicRelativeRangedTimestampRefineBy, crmListsPublicAbsoluteComparativeTimestampRefineBy, crmListsPublicAbsoluteRangedTimestampRefineBy, crmListsPublicAllHistoryRefineBy, crmListsPublicTimePointOperation, crmListsPublicRangedTimeOperation]).optional()}); export const crmListsPublicCtaAnalyticsFilter = z.object({coalescingRefineBy: z.union([crmListsPublicNumOccurrencesRefineBy, crmListsPublicSetOccurrencesRefineBy, crmListsPublicRelativeComparativeTimestampRefineBy, crmListsPublicRelativeRangedTimestampRefineBy, crmListsPublicAbsoluteComparativeTimestampRefineBy, crmListsPublicAbsoluteRangedTimestampRefineBy, crmListsPublicAllHistoryRefineBy, crmListsPublicTimePointOperation, crmListsPublicRangedTimeOperation]).optional(), ctaName: z.string(), filterType: z.literal("CTA"), operator: z.string(), pruningRefineBy: z.union([crmListsPublicNumOccurrencesRefineBy, crmListsPublicSetOccurrencesRefineBy, crmListsPublicRelativeComparativeTimestampRefineBy, crmListsPublicRelativeRangedTimestampRefineBy, crmListsPublicAbsoluteComparativeTimestampRefineBy, crmListsPublicAbsoluteRangedTimestampRefineBy, crmListsPublicAllHistoryRefineBy, crmListsPublicTimePointOperation, crmListsPublicRangedTimeOperation]).optional()}); export const crmListsPublicEventAnalyticsFilter = z.object({coalescingRefineBy: z.union([crmListsPublicNumOccurrencesRefineBy, crmListsPublicSetOccurrencesRefineBy, crmListsPublicRelativeComparativeTimestampRefineBy, crmListsPublicRelativeRangedTimestampRefineBy, crmListsPublicAbsoluteComparativeTimestampRefineBy, crmListsPublicAbsoluteRangedTimestampRefineBy, crmListsPublicAllHistoryRefineBy, crmListsPublicTimePointOperation, crmListsPublicRangedTimeOperation]).optional(), eventId: z.string(), filterType: z.literal("EVENT"), operator: z.string(), pruningRefineBy: z.union([crmListsPublicNumOccurrencesRefineBy, crmListsPublicSetOccurrencesRefineBy, crmListsPublicRelativeComparativeTimestampRefineBy, crmListsPublicRelativeRangedTimestampRefineBy, crmListsPublicAbsoluteComparativeTimestampRefineBy, crmListsPublicAbsoluteRangedTimestampRefineBy, crmListsPublicAllHistoryRefineBy, crmListsPublicTimePointOperation, crmListsPublicRangedTimeOperation]).optional()}); export const crmListsPublicFormSubmissionFilter = z.object({coalescingRefineBy: z.union([crmListsPublicNumOccurrencesRefineBy, crmListsPublicSetOccurrencesRefineBy, crmListsPublicRelativeComparativeTimestampRefineBy, crmListsPublicRelativeRangedTimestampRefineBy, crmListsPublicAbsoluteComparativeTimestampRefineBy, crmListsPublicAbsoluteRangedTimestampRefineBy, crmListsPublicAllHistoryRefineBy, crmListsPublicTimePointOperation, crmListsPublicRangedTimeOperation]).optional(), filterType: z.literal("FORM_SUBMISSION"), formId: z.string().optional(), operator: z.enum(["FILLED_OUT", "NOT_FILLED_OUT"]), pruningRefineBy: z.union([crmListsPublicNumOccurrencesRefineBy, crmListsPublicSetOccurrencesRefineBy, crmListsPublicRelativeComparativeTimestampRefineBy, crmListsPublicRelativeRangedTimestampRefineBy, crmListsPublicAbsoluteComparativeTimestampRefineBy, crmListsPublicAbsoluteRangedTimestampRefineBy, crmListsPublicAllHistoryRefineBy, crmListsPublicTimePointOperation, crmListsPublicRangedTimeOperation]).optional()}); export const crmListsPublicFormSubmissionOnPageFilter = z.object({coalescingRefineBy: z.union([crmListsPublicNumOccurrencesRefineBy, crmListsPublicSetOccurrencesRefineBy, crmListsPublicRelativeComparativeTimestampRefineBy, crmListsPublicRelativeRangedTimestampRefineBy, crmListsPublicAbsoluteComparativeTimestampRefineBy, crmListsPublicAbsoluteRangedTimestampRefineBy, crmListsPublicAllHistoryRefineBy, crmListsPublicTimePointOperation, crmListsPublicRangedTimeOperation]).optional(), filterType: z.literal("FORM_SUBMISSION_ON_PAGE"), formId: z.string().optional(), operator: z.enum(["FILLED_OUT", "NOT_FILLED_OUT"]), pageId: z.string(), pruningRefineBy: z.union([crmListsPublicNumOccurrencesRefineBy, crmListsPublicSetOccurrencesRefineBy, crmListsPublicRelativeComparativeTimestampRefineBy, crmListsPublicRelativeRangedTimestampRefineBy, crmListsPublicAbsoluteComparativeTimestampRefineBy, crmListsPublicAbsoluteRangedTimestampRefineBy, crmListsPublicAllHistoryRefineBy, crmListsPublicTimePointOperation, crmListsPublicRangedTimeOperation]).optional()}); export const crmListsPublicEventFilterMetadata = z.object({operation: z.union([crmListsPublicBoolPropertyOperation, crmListsPublicNumberPropertyOperation, crmListsPublicStringPropertyOperation, crmListsPublicDateTimePropertyOperation, crmListsPublicRangedDatePropertyOperation, crmListsPublicComparativePropertyUpdatedOperation, crmListsPublicComparativeDatePropertyOperation, crmListsPublicRollingDateRangePropertyOperation, crmListsPublicRollingPropertyUpdatedOperation, crmListsPublicEnumerationPropertyOperation, crmListsPublicAllPropertyTypesOperation, crmListsPublicRangedNumberPropertyOperation, crmListsPublicMultiStringPropertyOperation, crmListsPublicDatePropertyOperation, crmListsPublicCalendarDatePropertyOperation, crmListsPublicTimePointOperation, crmListsPublicRangedTimeOperation]), property: z.string()}); export const crmListsPublicIntegrationEventFilter = z.object({eventTypeId: z.number().int(), filterLines: z.array(crmListsPublicEventFilterMetadata), filterType: z.literal("INTEGRATION_EVENT")}); export const crmListsPublicEmailSubscriptionFilter = z.object({acceptedStatuses: z.array(z.string()), filterType: z.literal("EMAIL_SUBSCRIPTION"), subscriptionIds: z.array(z.string()), subscriptionType: z.string().optional()}); export const crmListsPublicCommunicationSubscriptionFilter = z.object({acceptedOptStates: z.array(z.string()), businessUnitId: z.string().optional(), channel: z.string(), filterType: z.literal("COMMUNICATION_SUBSCRIPTION"), subscriptionIds: z.array(z.string()), subscriptionType: z.string()}); export const crmListsPublicSurveyMonkeyFilter = z.object({filterType: z.literal("SURVEY_MONKEY"), operator: z.string(), surveyId: z.string()}); export const crmListsPublicSurveyMonkeyValueFilter = z.object({filterType: z.literal("SURVEY_MONKEY_VALUE"), operator: z.string(), surveyAnswerColId: z.string().optional(), surveyAnswerRowId: z.string().optional(), surveyId: z.string(), surveyQuestion: z.string(), valueComparison: z.union([crmListsPublicBoolPropertyOperation, crmListsPublicNumberPropertyOperation, crmListsPublicStringPropertyOperation, crmListsPublicDateTimePropertyOperation, crmListsPublicRangedDatePropertyOperation, crmListsPublicComparativePropertyUpdatedOperation, crmListsPublicComparativeDatePropertyOperation, crmListsPublicRollingDateRangePropertyOperation, crmListsPublicRollingPropertyUpdatedOperation, crmListsPublicEnumerationPropertyOperation, crmListsPublicAllPropertyTypesOperation, crmListsPublicRangedNumberPropertyOperation, crmListsPublicMultiStringPropertyOperation, crmListsPublicDatePropertyOperation, crmListsPublicCalendarDatePropertyOperation, crmListsPublicTimePointOperation, crmListsPublicRangedTimeOperation])}); export const crmListsPublicWebinarFilter = z.object({filterType: z.literal("WEBINAR"), operator: z.string(), webinarId: z.string().optional()}); export const crmListsPublicEmailEventFilter = z.object({appId: z.string(), clickUrl: z.string().optional(), emailId: z.string(), filterType: z.literal("EMAIL_EVENT"), level: z.string(), operator: z.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: z.union([crmListsPublicNumOccurrencesRefineBy, crmListsPublicSetOccurrencesRefineBy, crmListsPublicRelativeComparativeTimestampRefineBy, crmListsPublicRelativeRangedTimestampRefineBy, crmListsPublicAbsoluteComparativeTimestampRefineBy, crmListsPublicAbsoluteRangedTimestampRefineBy, crmListsPublicAllHistoryRefineBy, crmListsPublicTimePointOperation, crmListsPublicRangedTimeOperation]).optional()}); export const crmListsPublicPrivacyAnalyticsFilter = z.object({filterType: z.literal("PRIVACY"), operator: z.string(), privacyName: z.string()}); export const crmListsPublicAdsSearchFilter = z.object({adNetwork: z.string(), entityType: z.string(), filterType: z.literal("ADS_SEARCH"), operator: z.string(), searchTermType: z.string(), searchTerms: z.array(z.string())}); export const crmListsPublicAdsTimeFilter = z.object({filterType: z.literal("ADS_TIME"), pruningRefineBy: z.union([crmListsPublicNumOccurrencesRefineBy, crmListsPublicSetOccurrencesRefineBy, crmListsPublicRelativeComparativeTimestampRefineBy, crmListsPublicRelativeRangedTimestampRefineBy, crmListsPublicAbsoluteComparativeTimestampRefineBy, crmListsPublicAbsoluteRangedTimestampRefineBy, crmListsPublicAllHistoryRefineBy, crmListsPublicTimePointOperation, crmListsPublicRangedTimeOperation])}); export const crmListsPublicInListFilterMetadata = z.object({id: z.string(), inListType: z.string()}); export const crmListsPublicInListFilter = z.object({filterType: z.literal("IN_LIST"), listId: z.string(), metadata: crmListsPublicInListFilterMetadata.optional(), operator: z.string()}); export const crmListsPublicUnifiedEventsFilter = z.object({coalescingRefineBy: z.union([crmListsPublicNumOccurrencesRefineBy, crmListsPublicSetOccurrencesRefineBy, crmListsPublicRelativeComparativeTimestampRefineBy, crmListsPublicRelativeRangedTimestampRefineBy, crmListsPublicAbsoluteComparativeTimestampRefineBy, crmListsPublicAbsoluteRangedTimestampRefineBy, crmListsPublicAllHistoryRefineBy, crmListsPublicTimePointOperation, crmListsPublicRangedTimeOperation]).optional(), eventTypeId: z.string().optional(), filterLines: z.array(crmListsPublicEventFilterMetadata), filterType: z.literal("UNIFIED_EVENTS"), pruningRefineBy: z.union([crmListsPublicNumOccurrencesRefineBy, crmListsPublicSetOccurrencesRefineBy, crmListsPublicRelativeComparativeTimestampRefineBy, crmListsPublicRelativeRangedTimestampRefineBy, crmListsPublicAbsoluteComparativeTimestampRefineBy, crmListsPublicAbsoluteRangedTimestampRefineBy, crmListsPublicAllHistoryRefineBy, crmListsPublicTimePointOperation, crmListsPublicRangedTimeOperation]).optional()}); export const crmListsPublicConstantFilter = z.object({filterType: z.literal("CONSTANT"), shouldAccept: z.boolean(), source: z.string().optional()}); export const crmListsPublicAssociationFilterBranch: z.ZodType = z.object({associationCategory: z.string(), associationTypeId: z.number().int(), filterBranchOperator: z.string(), filterBranchType: z.literal("ASSOCIATION"), filterBranches: z.array(z.discriminatedUnion("filterBranchType", [z.lazy(() => crmListsPublicOrFilterBranch), z.lazy(() => crmListsPublicAndFilterBranch), z.lazy(() => crmListsPublicNotAllFilterBranch), z.lazy(() => crmListsPublicNotAnyFilterBranch), z.lazy(() => crmListsPublicRestrictedFilterBranch), z.lazy(() => crmListsPublicUnifiedEventsFilterBranch), z.lazy(() => crmListsPublicAssociationFilterBranch)])), filters: z.array(z.discriminatedUnion("filterType", [crmListsPublicPropertyFilter, crmListsPublicAssociationInListFilter, crmListsPublicPageViewAnalyticsFilter, crmListsPublicCtaAnalyticsFilter, crmListsPublicEventAnalyticsFilter, crmListsPublicFormSubmissionFilter, crmListsPublicFormSubmissionOnPageFilter, crmListsPublicIntegrationEventFilter, crmListsPublicEmailSubscriptionFilter, crmListsPublicCommunicationSubscriptionFilter, crmListsPublicSurveyMonkeyFilter, crmListsPublicSurveyMonkeyValueFilter, crmListsPublicWebinarFilter, crmListsPublicEmailEventFilter, crmListsPublicPrivacyAnalyticsFilter, crmListsPublicAdsSearchFilter, crmListsPublicAdsTimeFilter, crmListsPublicInListFilter, crmListsPublicUnifiedEventsFilter, crmListsPublicConstantFilter])), objectTypeId: z.string(), operator: z.string()}); export const crmListsPublicUnifiedEventsFilterBranch: z.ZodType = z.object({coalescingRefineBy: z.union([crmListsPublicNumOccurrencesRefineBy, crmListsPublicSetOccurrencesRefineBy, crmListsPublicRelativeComparativeTimestampRefineBy, crmListsPublicRelativeRangedTimestampRefineBy, crmListsPublicAbsoluteComparativeTimestampRefineBy, crmListsPublicAbsoluteRangedTimestampRefineBy, crmListsPublicAllHistoryRefineBy, crmListsPublicTimePointOperation, crmListsPublicRangedTimeOperation]).optional(), eventTypeId: z.string(), filterBranchOperator: z.string(), filterBranchType: z.literal("UNIFIED_EVENTS"), filterBranches: z.array(z.discriminatedUnion("filterBranchType", [z.lazy(() => crmListsPublicOrFilterBranch), z.lazy(() => crmListsPublicAndFilterBranch), z.lazy(() => crmListsPublicNotAllFilterBranch), z.lazy(() => crmListsPublicNotAnyFilterBranch), z.lazy(() => crmListsPublicRestrictedFilterBranch), z.lazy(() => crmListsPublicUnifiedEventsFilterBranch), crmListsPublicAssociationFilterBranch])), filters: z.array(z.discriminatedUnion("filterType", [crmListsPublicPropertyFilter, crmListsPublicAssociationInListFilter, crmListsPublicPageViewAnalyticsFilter, crmListsPublicCtaAnalyticsFilter, crmListsPublicEventAnalyticsFilter, crmListsPublicFormSubmissionFilter, crmListsPublicFormSubmissionOnPageFilter, crmListsPublicIntegrationEventFilter, crmListsPublicEmailSubscriptionFilter, crmListsPublicCommunicationSubscriptionFilter, crmListsPublicSurveyMonkeyFilter, crmListsPublicSurveyMonkeyValueFilter, crmListsPublicWebinarFilter, crmListsPublicEmailEventFilter, crmListsPublicPrivacyAnalyticsFilter, crmListsPublicAdsSearchFilter, crmListsPublicAdsTimeFilter, crmListsPublicInListFilter, crmListsPublicUnifiedEventsFilter, crmListsPublicConstantFilter])), operator: z.enum(["HAS_COMPLETED", "HAS_NOT_COMPLETED"]), pruningRefineBy: z.union([crmListsPublicNumOccurrencesRefineBy, crmListsPublicSetOccurrencesRefineBy, crmListsPublicRelativeComparativeTimestampRefineBy, crmListsPublicRelativeRangedTimestampRefineBy, crmListsPublicAbsoluteComparativeTimestampRefineBy, crmListsPublicAbsoluteRangedTimestampRefineBy, crmListsPublicAllHistoryRefineBy, crmListsPublicTimePointOperation, crmListsPublicRangedTimeOperation]).optional()}); export const crmListsPublicRestrictedFilterBranch: z.ZodType = z.object({filterBranchOperator: z.string(), filterBranchType: z.literal("RESTRICTED"), filterBranches: z.array(z.discriminatedUnion("filterBranchType", [z.lazy(() => crmListsPublicOrFilterBranch), z.lazy(() => crmListsPublicAndFilterBranch), z.lazy(() => crmListsPublicNotAllFilterBranch), z.lazy(() => crmListsPublicNotAnyFilterBranch), z.lazy(() => crmListsPublicRestrictedFilterBranch), crmListsPublicUnifiedEventsFilterBranch, crmListsPublicAssociationFilterBranch])), filters: z.array(z.discriminatedUnion("filterType", [crmListsPublicPropertyFilter, crmListsPublicAssociationInListFilter, crmListsPublicPageViewAnalyticsFilter, crmListsPublicCtaAnalyticsFilter, crmListsPublicEventAnalyticsFilter, crmListsPublicFormSubmissionFilter, crmListsPublicFormSubmissionOnPageFilter, crmListsPublicIntegrationEventFilter, crmListsPublicEmailSubscriptionFilter, crmListsPublicCommunicationSubscriptionFilter, crmListsPublicSurveyMonkeyFilter, crmListsPublicSurveyMonkeyValueFilter, crmListsPublicWebinarFilter, crmListsPublicEmailEventFilter, crmListsPublicPrivacyAnalyticsFilter, crmListsPublicAdsSearchFilter, crmListsPublicAdsTimeFilter, crmListsPublicInListFilter, crmListsPublicUnifiedEventsFilter, crmListsPublicConstantFilter]))}); export const crmListsPublicNotAnyFilterBranch: z.ZodType = z.object({filterBranchOperator: z.string(), filterBranchType: z.literal("NOT_ANY"), filterBranches: z.array(z.discriminatedUnion("filterBranchType", [z.lazy(() => crmListsPublicOrFilterBranch), z.lazy(() => crmListsPublicAndFilterBranch), z.lazy(() => crmListsPublicNotAllFilterBranch), z.lazy(() => crmListsPublicNotAnyFilterBranch), crmListsPublicRestrictedFilterBranch, crmListsPublicUnifiedEventsFilterBranch, crmListsPublicAssociationFilterBranch])), filters: z.array(z.discriminatedUnion("filterType", [crmListsPublicPropertyFilter, crmListsPublicAssociationInListFilter, crmListsPublicPageViewAnalyticsFilter, crmListsPublicCtaAnalyticsFilter, crmListsPublicEventAnalyticsFilter, crmListsPublicFormSubmissionFilter, crmListsPublicFormSubmissionOnPageFilter, crmListsPublicIntegrationEventFilter, crmListsPublicEmailSubscriptionFilter, crmListsPublicCommunicationSubscriptionFilter, crmListsPublicSurveyMonkeyFilter, crmListsPublicSurveyMonkeyValueFilter, crmListsPublicWebinarFilter, crmListsPublicEmailEventFilter, crmListsPublicPrivacyAnalyticsFilter, crmListsPublicAdsSearchFilter, crmListsPublicAdsTimeFilter, crmListsPublicInListFilter, crmListsPublicUnifiedEventsFilter, crmListsPublicConstantFilter]))}); export const crmListsPublicNotAllFilterBranch: z.ZodType = z.object({filterBranchOperator: z.string(), filterBranchType: z.literal("NOT_ALL"), filterBranches: z.array(z.discriminatedUnion("filterBranchType", [z.lazy(() => crmListsPublicOrFilterBranch), z.lazy(() => crmListsPublicAndFilterBranch), z.lazy(() => crmListsPublicNotAllFilterBranch), crmListsPublicNotAnyFilterBranch, crmListsPublicRestrictedFilterBranch, crmListsPublicUnifiedEventsFilterBranch, crmListsPublicAssociationFilterBranch])), filters: z.array(z.discriminatedUnion("filterType", [crmListsPublicPropertyFilter, crmListsPublicAssociationInListFilter, crmListsPublicPageViewAnalyticsFilter, crmListsPublicCtaAnalyticsFilter, crmListsPublicEventAnalyticsFilter, crmListsPublicFormSubmissionFilter, crmListsPublicFormSubmissionOnPageFilter, crmListsPublicIntegrationEventFilter, crmListsPublicEmailSubscriptionFilter, crmListsPublicCommunicationSubscriptionFilter, crmListsPublicSurveyMonkeyFilter, crmListsPublicSurveyMonkeyValueFilter, crmListsPublicWebinarFilter, crmListsPublicEmailEventFilter, crmListsPublicPrivacyAnalyticsFilter, crmListsPublicAdsSearchFilter, crmListsPublicAdsTimeFilter, crmListsPublicInListFilter, crmListsPublicUnifiedEventsFilter, crmListsPublicConstantFilter]))}); export const crmListsPublicAndFilterBranch: z.ZodType = z.object({filterBranchOperator: z.string(), filterBranchType: z.literal("AND"), filterBranches: z.array(z.discriminatedUnion("filterBranchType", [z.lazy(() => crmListsPublicOrFilterBranch), z.lazy(() => crmListsPublicAndFilterBranch), crmListsPublicNotAllFilterBranch, crmListsPublicNotAnyFilterBranch, crmListsPublicRestrictedFilterBranch, crmListsPublicUnifiedEventsFilterBranch, crmListsPublicAssociationFilterBranch])), filters: z.array(z.discriminatedUnion("filterType", [crmListsPublicPropertyFilter, crmListsPublicAssociationInListFilter, crmListsPublicPageViewAnalyticsFilter, crmListsPublicCtaAnalyticsFilter, crmListsPublicEventAnalyticsFilter, crmListsPublicFormSubmissionFilter, crmListsPublicFormSubmissionOnPageFilter, crmListsPublicIntegrationEventFilter, crmListsPublicEmailSubscriptionFilter, crmListsPublicCommunicationSubscriptionFilter, crmListsPublicSurveyMonkeyFilter, crmListsPublicSurveyMonkeyValueFilter, crmListsPublicWebinarFilter, crmListsPublicEmailEventFilter, crmListsPublicPrivacyAnalyticsFilter, crmListsPublicAdsSearchFilter, crmListsPublicAdsTimeFilter, crmListsPublicInListFilter, crmListsPublicUnifiedEventsFilter, crmListsPublicConstantFilter]))}); export const crmListsPublicOrFilterBranch: z.ZodType = z.object({filterBranchOperator: z.string(), filterBranchType: z.literal("OR"), filterBranches: z.array(z.discriminatedUnion("filterBranchType", [z.lazy(() => crmListsPublicOrFilterBranch), crmListsPublicAndFilterBranch, crmListsPublicNotAllFilterBranch, crmListsPublicNotAnyFilterBranch, crmListsPublicRestrictedFilterBranch, crmListsPublicUnifiedEventsFilterBranch, crmListsPublicAssociationFilterBranch])), filters: z.array(z.discriminatedUnion("filterType", [crmListsPublicPropertyFilter, crmListsPublicAssociationInListFilter, crmListsPublicPageViewAnalyticsFilter, crmListsPublicCtaAnalyticsFilter, crmListsPublicEventAnalyticsFilter, crmListsPublicFormSubmissionFilter, crmListsPublicFormSubmissionOnPageFilter, crmListsPublicIntegrationEventFilter, crmListsPublicEmailSubscriptionFilter, crmListsPublicCommunicationSubscriptionFilter, crmListsPublicSurveyMonkeyFilter, crmListsPublicSurveyMonkeyValueFilter, crmListsPublicWebinarFilter, crmListsPublicEmailEventFilter, crmListsPublicPrivacyAnalyticsFilter, crmListsPublicAdsSearchFilter, crmListsPublicAdsTimeFilter, crmListsPublicInListFilter, crmListsPublicUnifiedEventsFilter, crmListsPublicConstantFilter]))}); export const crmListsPublicListPermissions = z.object({teamsWithEditAccess: z.array(z.number().int()), usersWithEditAccess: z.array(z.number().int())}); export const crmListsPublicMembershipSettings = z.object({includeUnassigned: z.boolean().optional(), membershipTeamId: z.number().int().optional()}); export const crmListsPublicObjectList = z.object({createdAt: z.string().optional(), createdById: z.string().optional(), deletedAt: z.string().optional(), filterBranch: z.discriminatedUnion("filterBranchType", [crmListsPublicOrFilterBranch, crmListsPublicAndFilterBranch, crmListsPublicNotAllFilterBranch, crmListsPublicNotAnyFilterBranch, crmListsPublicRestrictedFilterBranch, crmListsPublicUnifiedEventsFilterBranch, crmListsPublicAssociationFilterBranch]).optional(), filtersUpdatedAt: z.string().optional(), listId: z.string(), listPermissions: crmListsPublicListPermissions.optional(), listVersion: z.number().int(), membershipSettings: crmListsPublicMembershipSettings.optional(), name: z.string(), objectTypeId: z.string(), processingStatus: z.string(), processingType: z.string(), size: z.number().int().optional(), updatedAt: z.string().optional(), updatedById: z.string().optional()}); export const crmListsListFetchResponse = z.object({list: crmListsPublicObjectList}); 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 }; /** * GET /crm/lists/2026-03/{listId} * * Also accepts auth: developer_hapikey */ export const getApiCrmLists202603ListId = async (args: GetApiCrmLists202603ListIdArgs, options?: GetApiCrmLists202603ListIdOptions) => { 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.includeFilters != null) query.append("includeFilters", String(args.includeFilters)) if (privateApps !== undefined) headers.set('authorization', `Bearer ${privateApps}`) const url = `${baseUrl.replace(/\/+$/, '')}/crm/lists/2026-03/${encodeURIComponent(String(args.listId))}${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(crmListsListFetchResponse, await res.json()) };