/*** * * SaaSquatch Type Definitions * * This file was automatically generated. DO NOT edit it by hand, instead edit the related JSON Schema file. * * Generated on 2026-03-20T21:11:42.771Z * ***/ /*** * TenantJob.schema.json * Generated on 2026-03-20T21:11:43.423Z * This file was automatically generated. DO NOT edit it by hand, instead edit the related JSON Schema file. ***/ export type CreateAJob = (({ type?: "QUERY/USER" params?: { programId?: ProgramId fields?: Fields [k: string]: unknown } [k: string]: unknown } | { type?: "QUERY/USER_EVENT" params?: { filter?: Filter [k: string]: unknown } [k: string]: unknown } | { type?: "QUERY/USER_REFERRAL" params?: { createdSince?: CreatedSince createdBefore?: CreatedBefore updatedSince?: UpdatedSince updatedBefore?: UpdatedBefore createdOrUpdatedSince?: CreatedOrUpdatedSince createdOrUpdatedBefore?: CreatedOrUpdatedBefore [k: string]: unknown } [k: string]: unknown } | { type?: "QUERY/USER_REWARD_BALANCE" params?: { createdSince?: CreatedSince1 createdBefore?: CreatedBefore1 [k: string]: unknown } [k: string]: unknown } | { type?: "QUERY/REWARD_BALANCE" params?: { createdSince?: CreatedSince2 createdBefore?: CreatedBefore2 [k: string]: unknown } [k: string]: unknown } | { type?: "QUERY/REFERRAL" params?: { createdSince?: CreatedSince3 createdBefore?: CreatedBefore3 updatedSince?: UpdatedSince1 updatedBefore?: UpdatedBefore1 createdOrUpdatedSince?: CreatedOrUpdatedSince1 createdOrUpdatedBefore?: CreatedOrUpdatedBefore1 [k: string]: unknown } [k: string]: unknown } | { type?: "QUERY/REWARD" params?: { filter?: Filter1 at?: At fields?: Fields1 [k: string]: unknown } [k: string]: unknown } | { type?: "QUERY/REFERRAL_PARTICIPANT" params?: { shareMedium?: ShareMedium engagementMedium?: EngagementMedium createdSince?: CreatedSince4 createdBefore?: CreatedBefore4 updatedSince?: UpdatedSince2 updatedBefore?: UpdatedBefore2 createdOrUpdatedSince?: CreatedOrUpdatedSince2 createdOrUpdatedBefore?: CreatedOrUpdatedBefore2 [k: string]: unknown } [k: string]: unknown } | { type?: "QUERY/REDEEMABLE_REWARD_BALANCE" params?: { filter?: RedeemableRewardBalanceFilter [k: string]: unknown } [k: string]: unknown } | { type?: "QUERY/US_TAXABLE_VALUE" params?: { [k: string]: unknown } [k: string]: unknown } | { type?: "MUTATION/USER" fileRef: FileToUpload params?: { programId?: ProgramId1 segments?: Segments importEvaluationOptions?: { webhooks?: (WebhooksEnabled | { enabledWebhookTypes: EnabledWebhookTypes }) programs?: (ProgramEvaluationEnabled | { enabledProgramIds: EnabledProgramIds }) analytics?: (AnalyticsTrackingEnabled | { enabledAnalyticsEventCollections: AnalyticsEventCollections }) } [k: string]: unknown } [k: string]: unknown } | { type?: "MUTATION/REDEEMABLE_REWARD_BALANCE" fileRef?: FileToUpload1 [k: string]: unknown } | { type?: "MUTATION/REFERRAL" params?: { importEvaluationOptions?: { webhooks?: (WebhooksEnabled1 | { enabledWebhookTypes: EnabledWebhookTypes1 }) programs?: (ProgramEvaluationEnabled1 | { enabledProgramIds: EnabledProgramIds1 }) analytics?: (AnalyticsTrackingEnabled1 | { enabledAnalyticsEventCollections: AnalyticsEventCollections1 }) } [k: string]: unknown } [k: string]: unknown } | { type?: "MUTATION/USER_EVENT" params?: { importEvaluationOptions?: { webhooks?: (WebhooksEnabled2 | { enabledWebhookTypes: EnabledWebhookTypes2 }) programs?: (ProgramEvaluationEnabled2 | { enabledProgramIds: EnabledProgramIds2 }) analytics?: (AnalyticsTrackingEnabled2 | { enabledAnalyticsEventCollections: AnalyticsEventCollections2 }) } [k: string]: unknown } [k: string]: unknown } | { type?: "MUTATION/DELETE_USER" params?: { preserveEmptyAccounts?: PreserveEmptyAccounts doNotTrack?: DoNotTrack [k: string]: unknown } [k: string]: unknown }) & { type: JobType outputFormat?: OutputFormat name?: JobName mailtoEmail?: NotifyOnJobCompletion requester?: RequestedBy [k: string]: unknown }) export type ProgramId = string export type IncludeUserStatsFields = boolean export type IncludeProgramShareLinksAndReferralCodes = boolean export type IncludeSegments = boolean /** * Filter for a single user event by ID */ export type EventIDEquals = string /** * Filter for user events by event key */ export type EventKeyEquals = string /** * Exclude user events by event key */ export type EventKeyNotEqual = string /** * Filter for user events by multiple event keys */ export type EventKeyIn = string /** * Exclude user events by multiple event keys */ export type EventKeyNotIn = string /** * Filter for user events triggered after or at a certain timestamp */ export type DateTriggeredGreaterThanOrEquals = number /** * Filter for user events triggered before a certain timestamp */ export type DateTriggeredLessThan = number /** * Filter for user events triggered between two dates */ export type DateTriggeredInterval = string /** * Filter for user events triggered with a timeframe */ export type DateTriggeredTimeframe = string /** * Filter for user events received after or at a certain timestamp */ export type DateReceivedGreaterThanOrEquals = number /** * Filter for user events received before a certain timestamp */ export type DateReceivedLessThan = number /** * Filter for user events received between two dates */ export type DateReceivedInterval = string /** * Filter for user events received with a timeframe */ export type DateReceivedTimeframe = string /** * Filter for user events processed after or at a certain timestamp */ export type DateProcessedGreaterThanOrEquals = number /** * Filter for user events processed before a certain timestamp */ export type DateProcessedLessThan = number /** * Filter for user events processed between two dates */ export type DateProcessedInterval = string /** * Filter for user events processed with a timeframe */ export type DateProcessedTimeframe = string /** * Filter for user events by User ID */ export type UserIDEquals = string /** * Filter for user events by Account ID */ export type AccountIDEquals = string export type CreatedSince = number export type CreatedBefore = number export type UpdatedSince = number export type UpdatedBefore = number export type CreatedOrUpdatedSince = number export type CreatedOrUpdatedBefore = number export type CreatedSince1 = number export type CreatedBefore1 = number export type CreatedSince2 = number export type CreatedBefore2 = number export type CreatedSince3 = number export type CreatedBefore3 = number export type UpdatedSince1 = number export type UpdatedBefore1 = number export type CreatedOrUpdatedSince1 = number export type CreatedOrUpdatedBefore1 = number /** * An optional timestamp for exporting the rewards' states at a specific point in time */ export type At = number export type IncludeUserFields = boolean export type IncludeReferralFields = boolean export type ShareMedium = string export type EngagementMedium = string export type CreatedSince4 = number export type CreatedBefore4 = number export type UpdatedSince2 = number export type UpdatedBefore2 = number export type CreatedOrUpdatedSince2 = number export type CreatedOrUpdatedBefore2 = number export type FileToUpload = string export type ProgramId1 = string export type Segments = string[] /** * If true then all triggered webhook types will be sent */ export type WebhooksEnabled = boolean export type EnabledWebhookTypes = ("user.created" | "coupon.created" | "reward.created" | "referral.started" | "referral.converted" | "user.reward.balance.changed" | "email.referred.reward.earned" | "email.referral.started" | "email.referral.paid" | "email.referral.rewardLimitReached" | "referral.automoderation.complete" | "referral.ended" | "theme.publish.finished")[] /** * If true then all applicable active programs will be triggered */ export type ProgramEvaluationEnabled = boolean export type EnabledProgramIds = string[] export type AnalyticsTrackingEnabled = boolean export type CollectionName = ("userCreated" | "userReferralProgramLoaded" | "userReferralProgramEngagement" | "userReferralShareLinkClicked" | "userReferralCreated" | "userApprovedReferralCreated" | "userReferralModerated" | "userReferralConverted" | "userApprovedReferralConverted" | "userReferralEnded" | "rewardCreated" | "rewardRedeemed" | "programEvaluated" | "userActivity" | "programGoal") export type AnalyticsEventCollections = { collectionName?: CollectionName [k: string]: unknown }[] export type FileToUpload1 = string /** * If true then all triggered webhook types will be sent */ export type WebhooksEnabled1 = boolean export type EnabledWebhookTypes1 = ("user.created" | "coupon.created" | "reward.created" | "referral.started" | "referral.converted" | "user.reward.balance.changed" | "email.referred.reward.earned" | "email.referral.started" | "email.referral.paid" | "email.referral.rewardLimitReached" | "referral.automoderation.complete" | "referral.ended" | "theme.publish.finished")[] /** * If true then all applicable active programs will be triggered */ export type ProgramEvaluationEnabled1 = boolean export type EnabledProgramIds1 = string[] export type AnalyticsTrackingEnabled1 = boolean export type CollectionName1 = ("userCreated" | "userReferralProgramLoaded" | "userReferralProgramEngagement" | "userReferralShareLinkClicked" | "userReferralCreated" | "userApprovedReferralCreated" | "userReferralModerated" | "userReferralConverted" | "userApprovedReferralConverted" | "userReferralEnded" | "rewardCreated" | "rewardRedeemed" | "programEvaluated" | "userActivity" | "programGoal") export type AnalyticsEventCollections1 = { collectionName?: CollectionName1 [k: string]: unknown }[] /** * If true then all triggered webhook types will be sent */ export type WebhooksEnabled2 = boolean export type EnabledWebhookTypes2 = ("user.created" | "coupon.created" | "reward.created" | "referral.started" | "referral.converted" | "user.reward.balance.changed" | "email.referred.reward.earned" | "email.referral.started" | "email.referral.paid" | "email.referral.rewardLimitReached" | "referral.automoderation.complete" | "referral.ended" | "theme.publish.finished")[] /** * If true then all applicable active programs will be triggered */ export type ProgramEvaluationEnabled2 = boolean export type EnabledProgramIds2 = string[] export type AnalyticsTrackingEnabled2 = boolean export type CollectionName2 = ("userCreated" | "userReferralProgramLoaded" | "userReferralProgramEngagement" | "userReferralShareLinkClicked" | "userReferralCreated" | "userApprovedReferralCreated" | "userReferralModerated" | "userReferralConverted" | "userApprovedReferralConverted" | "userReferralEnded" | "rewardCreated" | "rewardRedeemed" | "programEvaluated" | "userActivity" | "programGoal") export type AnalyticsEventCollections2 = { collectionName?: CollectionName2 [k: string]: unknown }[] export type PreserveEmptyAccounts = boolean export type DoNotTrack = boolean export type JobType = ("QUERY/USER" | "QUERY/USER_EVENT" | "QUERY/USER_REFERRAL" | "QUERY/USER_REWARD_BALANCE" | "QUERY/REWARD_BALANCE" | "QUERY/REFERRAL" | "QUERY/REWARD" | "QUERY/REFERRAL_PARTICIPANT" | "QUERY/REDEEMABLE_REWARD_BALANCE" | "QUERY/US_TAXABLE_VALUE" | "MUTATION/USER" | "MUTATION/REDEEMABLE_REWARD_BALANCE" | "MUTATION/USER_STATS" | "MUTATION/REFERRAL" | "MUTATION/USER_EVENT" | "MUTATION/DELETE_USER") export type OutputFormat = ("CSV" | "XLSX") export type JobName = string export type NotifyOnJobCompletion = string export type RequestedBy = string export interface Fields { includeUserStatsFields?: IncludeUserStatsFields includeProgramShareLinksAndReferralCodes?: IncludeProgramShareLinksAndReferralCodes includeSegments?: IncludeSegments [k: string]: unknown } /** * A GraphQL filter that defines the user events to be exported. */ export interface Filter { id_eq?: EventIDEquals key_eq?: EventKeyEquals key_ne?: EventKeyNotEqual key_in?: EventKeyIn key_nin?: EventKeyNotIn dateTriggered_gte?: DateTriggeredGreaterThanOrEquals dateTriggered_lt?: DateTriggeredLessThan dateTriggered_interval?: DateTriggeredInterval dateTriggered_timeframe?: DateTriggeredTimeframe dateReceived_gte?: DateReceivedGreaterThanOrEquals dateReceived_lt?: DateReceivedLessThan dateReceived_interval?: DateReceivedInterval dateReceived_timeframe?: DateReceivedTimeframe dateProcessed_gte?: DateProcessedGreaterThanOrEquals dateProcessed_lt?: DateProcessedLessThan dateProcessed_interval?: DateProcessedInterval dateProcessed_timeframe?: DateProcessedTimeframe userId_eq?: UserIDEquals accountId_eq?: AccountIDEquals [k: string]: unknown } /** * A GraphQL filter that defines the rewards to be exported. See RewardFilterInput. */ export interface Filter1 { [k: string]: unknown } export interface Fields1 { includeUserFields?: IncludeUserFields includeReferralFields?: IncludeReferralFields [k: string]: unknown } export interface RedeemableRewardBalanceFilter { type_eq?: ("PCT_DISCOUNT" | "CREDIT" | "FUELTANK" | "INTEGRATION") unit_eq?: string unit_in?: string[] unitType_eq?: string currency_eq?: string [k: string]: unknown }