import {z} from 'zod' export type ToggleSyncRequest = {enabled: boolean}; export type PatchApiV4IntegrationsIntegrationIdSyncArgs = {integration_id: string | string, body: ToggleSyncRequest}; export type PatchApiV4IntegrationsIntegrationIdSyncOptions = {baseUrl: string, fetch?: typeof fetch | undefined}; export const integrationType = z.enum(["postgres", "acumatica", "aircall", "amplitude", "attio", "bigquery", "cube", "custom", "ducklake", "excel", "facebookads", "facebookads_system_user", "gcs", "googleads", "googleanalytics", "googlesearchconsole", "googlesheets", "hubspot", "iceberg", "linkedinads", "linkedinpages", "mavenlink", "mysql", "omnisend", "pipedrive", "twilio", "quickbooks", "redshift", "salesforce", "salesloft", "sharepointsites", "sheets", "shopify", "slack", "snowflake", "sqlserver", "s3", "abicart", "abra", "activecampaign", "acuite", "adp", "aftership", "aha", "airtable", "amazonadvertising", "amazonassociates", "amazonsellingpartner", "anvil", "apaleo", "appstore", "applehealth", "asknicely", "atinternet", "awscloudtrail", "awscognito", "awscostexplorer", "bamboohr", "hellobaton", "bazaarvoice", "bexio", "bigmarker", "brillium", "canvas", "chorusai", "clickcast", "clickup", "clientsuccess", "closeio", "cloudwatch", "coingecko", "currencyfreaks", "dagster", "dashhudson", "datadog", "dearsystems", "dixa", "domo", "emarsys", "fastly", "fishbowl", "freshdesk", "freshcaller", "freshworks", "fullstory", "gainsightpx", "github", "gladly", "gong", "greenhouse", "holidays", "hotjar", "immuta", "instagram", "iterable", "intercom", "jira", "jotform", "judgeme", "keap", "klaviyo", "krow", "lessonly", "lightdash", "linear", "loopreturns", "maestroqa", "mailerlite", "mailjet", "marketo", "marketplacer", "netohq", "megaphone", "memberful", "mercadopago", "meshstack", "messagebird", "metronome", "mixpanel", "msgraph", "mindstamp", "miro", "mode", "monday", "mongodb", "montapacking", "moosend", "netlify", "netrivals", "netsuite", "niceincontact", "notion", "okta", "ordoro", "partnerize", "partoo", "peloton", "picqer", "plentymarkets", "getpocket", "podbean", "pulumicloud", "qls", "qualified", "readthedocs", "recruitee", "recurly", "sailthru", "segment", "sellsy", "sendinblue", "shipbob", "shiphero", "shipstation", "shoplazza", "showpad", "sleeper", "smartsheet", "square", "stamped", "stripe", "sumologic", "talkable", "thinkific", "tiktokads", "tradera", "travefy", "trustrace", "typeform", "udemyforbusiness", "unleashed", "veeqo", "webflow", "woocommerce", "zammad", "zendesk", "zohocrm"]); export const integrationETLConfig = z.object({dest_integration_id: z.string(), dest_schema: z.string().optional(), schedule_cron: z.string().nullable().optional(), overwrite_tables: z.boolean().optional(), partition_fields: z.string().nullable().optional(), ducklake_pod_memory_override: z.number().int().nullable().optional(), load_method: z.string().optional(), parallel_draining: z.boolean().optional(), auto_cast_timestamps: z.boolean().optional(), max_record_age_minutes: z.number().int().gte(1).optional(), replace_on_no_pk_extraction: z.boolean().optional(), select_filter: z.string().nullable().optional(), select_custom_objects: z.string().nullable().optional(), metadata: z.string().nullable().optional(), infer_dest_schemas: z.boolean().nullable().optional(), dest_schema_mapping: z.string().nullable().optional(), dates_as_string: z.boolean().optional(), max_record_count: z.number().int().gte(1).nullable().optional()}); export const integrationDetailsSchemaFastly = z.object({name: z.string().optional(), integration_type: z.literal("fastly").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("fastly").optional(), tap_variant: z.string().optional(), api_token: z.string().optional()}); export const integrationDetailsSchemaAirtable = z.object({name: z.string().optional(), integration_type: z.literal("airtable").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("airtable").optional(), tap_variant: z.string().optional(), token: z.string().optional()}); export const integrationDetailsSchemaUdemyForBusiness = z.object({name: z.string().optional(), integration_type: z.literal("udemyforbusiness").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("udemyforbusiness").optional(), tap_variant: z.string().optional(), organization_id: z.number().int(), organization_name: z.string().optional(), client_id: z.string().optional(), client_secret: z.string().optional()}); export const integrationDetailsSchemaGetPocket = z.object({name: z.string().optional(), integration_type: z.literal("getpocket").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("getpocket").optional(), tap_variant: z.string().optional(), consumer_key: z.string().optional(), access_token: z.string().optional()}); export const integrationDetailsSchemaSellsy = z.object({name: z.string().optional(), integration_type: z.literal("sellsy").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("sellsy").optional(), tap_variant: z.string().optional(), client_secret: z.string().optional(), client_id: z.string().optional()}); export const integrationDetailsSchemaShopify = z.object({name: z.string().optional(), integration_type: z.literal("shopify").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("shopify").optional(), access_token: z.string().optional(), client_id: z.string().optional(), client_secret: z.string().optional(), store: z.string()}); export const integrationDetailsSchemaMailjet = z.object({name: z.string().optional(), integration_type: z.literal("mailjet").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("mailjet").optional(), tap_variant: z.string().optional(), api_key: z.string().optional(), api_secret: z.string().optional()}); export const integrationDetailsSchemaLinkedinPagesOutput = z.object({name: z.string().optional(), integration_type: z.literal("linkedinpages").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), code: z.string(), redirectUri: z.string().optional(), accessToken: z.string().optional(), timestamp: z.string().optional(), expires_in: z.number().int().optional(), refreshToken: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("linkedinpages").optional(), tap_variant: z.string().optional(), orgId: z.string().optional(), client_id: z.string(), client_secret: z.string()}); export const integrationDetailsSchemaTrustrace = z.object({name: z.string().optional(), integration_type: z.literal("trustrace").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("trustrace").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaMaestroqa = z.object({name: z.string().optional(), integration_type: z.literal("maestroqa").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("maestroqa").optional(), tap_variant: z.string().optional(), api_token: z.string().optional()}); export const integrationDetailsSchemaOmnisend = z.object({name: z.string().optional(), integration_type: z.literal("omnisend").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("omnisend").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaPeloton = z.object({name: z.string().optional(), integration_type: z.literal("peloton").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("peloton").optional(), tap_variant: z.string().optional(), username: z.string().optional(), password: z.string().optional()}); export const integrationDetailsSchemaKlaviyo = z.object({name: z.string().optional(), integration_type: z.literal("klaviyo").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("klaviyo").optional(), tap_variant: z.string().optional(), auth_token: z.string().optional()}); export const integrationDetailsSchemaStamped = z.object({name: z.string().optional(), integration_type: z.literal("stamped").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("stamped").optional(), tap_variant: z.string().optional(), public_key: z.string().optional(), private_key: z.string().optional()}); export const integrationDetailsSchemaAbicart = z.object({name: z.string().optional(), integration_type: z.literal("abicart").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("abicart").optional(), tap_variant: z.string().optional(), password: z.string().optional(), username: z.string().optional(), webshop: z.string().optional()}); export const integrationDetailsSchemaGithub = z.object({name: z.string().optional(), integration_type: z.literal("github").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("github").optional(), tap_variant: z.string().optional(), repository: z.string().optional(), access_token: z.string().optional()}); export const integrationDetailsSchemaRecurly = z.object({name: z.string().optional(), integration_type: z.literal("recurly").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("recurly").optional(), tap_variant: z.string().optional(), api_key: z.string().optional(), subdomain: z.string().optional()}); export const integrationDetailsSchemaThinkific = z.object({name: z.string().optional(), integration_type: z.literal("thinkific").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("thinkific").optional(), tap_variant: z.string().optional(), api_key: z.string().optional(), subdomain: z.string().optional()}); export const integrationDetailsSchemaBexio = z.object({name: z.string().optional(), integration_type: z.literal("bexio").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("bexio").optional(), tap_variant: z.string().optional(), auth_token: z.string().optional()}); export const integrationDetailsSchemaSmartsheet = z.object({name: z.string().optional(), integration_type: z.literal("smartsheet").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("smartsheet").optional(), tap_variant: z.string().optional(), smartsheet_access_token: z.string().optional()}); export const integrationDetailsSchemaKrow = z.object({name: z.string().optional(), integration_type: z.literal("krow").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("krow").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaJudgeme = z.object({name: z.string().optional(), integration_type: z.literal("judgeme").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("judgeme").optional(), tap_variant: z.string().optional(), shop_domain: z.string().optional(), auth_token: z.string().optional()}); export const integrationDetailsSchemaFreshdesk = z.object({name: z.string().optional(), integration_type: z.literal("freshdesk").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("freshdesk").optional(), tap_variant: z.string().optional(), domain: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaAskNicely = z.object({name: z.string().optional(), integration_type: z.literal("asknicely").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("asknicely").optional(), tap_variant: z.string().optional(), subdomain: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaOrdoro = z.object({name: z.string().optional(), integration_type: z.literal("ordoro").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("ordoro").optional(), tap_variant: z.string().optional(), client_secret: z.string().optional(), client_id: z.string().optional()}); export const integrationDetailsSchemaAcumatica = z.object({name: z.string().optional(), integration_type: z.literal("acumatica").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("acumatica").optional(), tap_variant: z.string().optional(), tenant: z.string().optional(), username: z.string().optional(), password: z.string().optional(), select_filter: z.string().nullable().optional()}); export const integrationDetailsSchemaIceberg = z.object({name: z.string().optional(), integration_type: z.literal("iceberg").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("iceberg").optional(), gcs_access_key: z.string().nullable().optional(), gcs_secret: z.string().nullable().optional(), trino_catalog_name: z.string().nullable().optional(), primary_key_mapping: z.string().nullable().optional(), duckdb_sync_config: z.string().nullable().optional()}); export const integrationDetailsSchemaClientSuccess = z.object({name: z.string().optional(), integration_type: z.literal("clientsuccess").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("clientsuccess").optional(), tap_variant: z.string().optional(), username: z.string().optional(), password: z.string().optional()}); export const integrationDetailsSchemaInstagramOutput = z.object({name: z.string().optional(), integration_type: z.literal("instagram").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), code: z.string(), redirectUri: z.string().optional(), accessToken: z.string().optional(), timestamp: z.string().optional(), expires_in: z.number().int().optional(), refreshToken: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("instagram").optional(), tap_variant: z.string().optional(), igUserIds: z.string().optional(), client_id: z.string(), client_secret: z.string()}); export const integrationDetailsSchemaShipbob = z.object({name: z.string().optional(), integration_type: z.literal("shipbob").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("shipbob").optional(), tap_variant: z.string().optional(), access_token: z.string().optional()}); export const integrationDetailsSchemaJira = z.object({name: z.string().optional(), integration_type: z.literal("jira").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("jira").optional(), tap_variant: z.string().optional(), domain: z.string().optional(), email: z.string().optional(), apiToken: z.string().optional(), startDate: z.string().optional(), cloudId: z.string().nullable().optional()}); export const integrationDetailsSchemaGoogleAnalyticsOutput = z.object({name: z.string().optional(), integration_type: z.literal("googleanalytics").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), code: z.string(), redirectUri: z.string().optional(), accessToken: z.string().optional(), timestamp: z.string().optional(), expires_in: z.number().int().optional(), refreshToken: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("googleanalytics").optional(), tap_variant: z.string().optional(), property_id: z.string(), client_id: z.string(), client_secret: z.string()}); export const integrationDetailsSchemaGoogleAdsOutput = z.object({name: z.string().optional(), integration_type: z.literal("googleads").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), code: z.string(), redirectUri: z.string().optional(), accessToken: z.string().optional(), timestamp: z.string().optional(), expires_in: z.number().int().optional(), refreshToken: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("googleads").optional(), tap_variant: z.string().optional(), login_customer_id: z.string(), start_date: z.string().optional(), client_id: z.string(), client_secret: z.string(), developer_token: z.string()}); export const integrationDetailsSchemaMiro = z.object({name: z.string().optional(), integration_type: z.literal("miro").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("miro").optional(), tap_variant: z.string().optional(), organization_id: z.string().optional(), access_token: z.string().optional()}); export const integrationDetailsSchemaDomo = z.object({name: z.string().optional(), integration_type: z.literal("domo").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("domo").optional(), tap_variant: z.string().optional(), data_specs: z.string().optional(), client_secret: z.string().optional(), client_id: z.string().optional()}); export const integrationDetailsSchemaBrillium = z.object({name: z.string().optional(), integration_type: z.literal("brillium").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("brillium").optional(), tap_variant: z.string().optional(), base_uri: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaPlentymarkets = z.object({name: z.string().optional(), integration_type: z.literal("plentymarkets").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("plentymarkets").optional(), tap_variant: z.string().optional(), username: z.string().optional(), password: z.string().optional(), api_url: z.string().optional()}); export const integrationDetailsSchemaMavenLink = z.object({name: z.string().optional(), integration_type: z.literal("mavenlink").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("mavenlink").optional(), tap_variant: z.string().optional(), token: z.string().optional()}); export const integrationDetailsSchemaCloudwatch = z.object({name: z.string().optional(), integration_type: z.literal("cloudwatch").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("cloudwatch").optional(), tap_variant: z.string().optional(), query: z.string().optional(), log_group_name: z.string().optional()}); export const integrationDetailsSchemaWebflow = z.object({name: z.string().optional(), integration_type: z.literal("webflow").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("webflow").optional(), tap_variant: z.string().optional(), api_key: z.string().optional(), site_id: z.string().optional()}); export const integrationDetailsSchemaAmazonSellingPartnerOutput = z.object({name: z.string().optional(), integration_type: z.literal("amazonsellingpartner").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), code: z.string(), redirectUri: z.string().optional(), accessToken: z.string().optional(), timestamp: z.string().optional(), expires_in: z.number().int().optional(), refreshToken: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("amazonsellingpartner").optional(), tap_variant: z.string().optional(), marketplaces: z.array(z.string()).optional(), start_date: z.string().optional(), client_id: z.string(), client_secret: z.string(), application_id: z.string(), lwa_client_id: z.string(), lwa_client_secret: z.string()}); export const integrationDetailsSchemaMontapacking = z.object({name: z.string().optional(), integration_type: z.literal("montapacking").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("montapacking").optional(), tap_variant: z.string().optional(), username: z.string().optional(), password: z.string().optional()}); export const integrationDetailsSchemaChorusai = z.object({name: z.string().optional(), integration_type: z.literal("chorusai").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("chorusai").optional(), tap_variant: z.string().optional(), auth_token: z.string().optional()}); export const integrationDetailsSchemaCurrencyFreaks = z.object({name: z.string().optional(), integration_type: z.literal("currencyfreaks").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("currencyfreaks").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaRecruitee = z.object({name: z.string().optional(), integration_type: z.literal("recruitee").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("recruitee").optional(), tap_variant: z.string().optional(), url: z.string().optional(), company_id: z.string().optional(), auth_token: z.string().optional()}); export const integrationDetailsSchemaHellobaton = z.object({name: z.string().optional(), integration_type: z.literal("hellobaton").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("hellobaton").optional(), tap_variant: z.string().optional(), company: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaFacebookAdsOutput = z.object({name: z.string().optional(), integration_type: z.literal("facebookads").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), code: z.string(), redirectUri: z.string().optional(), accessToken: z.string().optional(), timestamp: z.string().optional(), expires_in: z.number().int().optional(), refreshToken: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("facebookads").optional(), tap_variant: z.string().optional(), accountId: z.string().optional(), start_date: z.string().optional(), client_id: z.string(), client_secret: z.string()}); export const integrationDetailsSchemaCube = z.object({name: z.string().optional(), integration_type: z.literal("cube").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("cube").optional(), dbIntegrationId: z.string().optional(), enable_cache: z.boolean().optional()}); export const integrationDetailsSchemaZendesk = z.object({name: z.string().optional(), integration_type: z.literal("zendesk").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("zendesk").optional(), tap_variant: z.string().optional(), email: z.string().optional(), api_token: z.string().optional(), subdomain: z.string().optional()}); export const integrationDetailsSchemaPulumiCloud = z.object({name: z.string().optional(), integration_type: z.literal("pulumicloud").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("pulumicloud").optional(), tap_variant: z.string().optional(), token: z.string().optional(), organizations: z.string().optional()}); export const integrationDetailsSchemaNetsuite = z.object({name: z.string().optional(), integration_type: z.literal("netsuite").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("netsuite").optional(), tap_variant: z.string().optional(), ns_account: z.string().optional(), ns_token_key: z.string().optional(), ns_token_secret: z.string().optional(), ns_consumer_key: z.string().optional(), ns_consumer_secret: z.string().optional()}); export const integrationDetailsSchemaShiphero = z.object({name: z.string().optional(), integration_type: z.literal("shiphero").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("shiphero").optional(), tap_variant: z.string().optional(), refresh_token: z.string().optional(), start_date: z.string().optional()}); export const integrationDetailsSchemaAnvil = z.object({name: z.string().optional(), integration_type: z.literal("anvil").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("anvil").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaGainsightPx = z.object({name: z.string().optional(), integration_type: z.literal("gainsightpx").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("gainsightpx").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaSqlServer = z.object({name: z.string().optional(), integration_type: z.literal("sqlserver").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), use_static_egress_ip: z.boolean().optional(), display_name: z.string().optional(), discriminator: z.literal("sqlserver").optional(), username: z.string(), password: z.string(), host: z.string(), port: z.number().int(), database: z.string(), multi_subnet_availability_group: z.boolean().optional()}); export const integrationDetailsSchemaNetlify = z.object({name: z.string().optional(), integration_type: z.literal("netlify").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("netlify").optional(), tap_variant: z.string().optional(), auth_token: z.string().optional()}); export const integrationDetailsSchemaTravefy = z.object({name: z.string().optional(), integration_type: z.literal("travefy").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("travefy").optional(), tap_variant: z.string().optional(), public_key: z.string().optional(), private_key: z.string().optional()}); export const integrationDetailsSchemaAmazonAdvertisingOutput = z.object({name: z.string().optional(), integration_type: z.literal("amazonadvertising").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), code: z.string(), redirectUri: z.string().optional(), accessToken: z.string().optional(), timestamp: z.string().optional(), expires_in: z.number().int().optional(), refreshToken: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("amazonadvertising").optional(), client_id: z.string(), client_secret: z.string()}); export const integrationDetailsSchemaTikTokAds = z.object({name: z.string().optional(), integration_type: z.literal("tiktokads").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("tiktokads").optional(), access_token: z.string().optional(), advertiserId: z.string().optional(), startDate: z.string().optional(), lookback: z.number().int().optional()}); export const integrationDetailsSchemaJotform = z.object({name: z.string().optional(), integration_type: z.literal("jotform").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("jotform").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaMixpanel = z.object({name: z.string().optional(), integration_type: z.literal("mixpanel").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("mixpanel").optional(), tap_variant: z.string().optional(), api_secret: z.string().optional(), project_timezone: z.string().optional(), date_window_size: z.number().int().optional(), attribution_window: z.number().int().optional(), start_date: z.string().optional(), is_eu_data_residency: z.boolean().optional()}); export const integrationDetailsSchemaBambooHr = z.object({name: z.string().optional(), integration_type: z.literal("bamboohr").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("bamboohr").optional(), tap_variant: z.string().optional(), subdomain: z.string().optional(), field_mismatch: z.record(z.string(), z.unknown()).optional(), auth_token: z.string().optional()}); export const integrationDetailsSchemaMessagebird = z.object({name: z.string().optional(), integration_type: z.literal("messagebird").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("messagebird").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaPipedrive = z.object({name: z.string().optional(), integration_type: z.literal("pipedrive").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("pipedrive").optional(), tap_variant: z.string().optional(), api_token: z.string().optional(), start_date: z.string().optional()}); export const integrationDetailsSchemaNetohq = z.object({name: z.string().optional(), integration_type: z.literal("netohq").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("netohq").optional(), tap_variant: z.string().optional(), api_key: z.string().optional(), username: z.string().optional(), url: z.string().optional()}); export const integrationDetailsSchemaSharepointSitesOutput = z.object({name: z.string().optional(), integration_type: z.literal("sharepointsites").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), code: z.string(), redirectUri: z.string().optional(), accessToken: z.string().optional(), timestamp: z.string().optional(), expires_in: z.number().int().optional(), refreshToken: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("sharepointsites").optional(), tap_variant: z.string().optional(), api_url: z.string(), target_table_name: z.string(), file_name: z.string(), folder: z.string().nullable().optional(), file_type: z.string().optional(), sheet_name: z.string().nullable().optional(), min_row: z.number().int().nullable().optional(), max_row: z.number().int().nullable().optional(), min_col: z.number().int().nullable().optional(), max_col: z.number().int().nullable().optional(), client_id: z.string(), client_secret: z.string()}); export const integrationDetailsSchemaMemberful = z.object({name: z.string().optional(), integration_type: z.literal("memberful").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("memberful").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaTalkable = z.object({name: z.string().optional(), integration_type: z.literal("talkable").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("talkable").optional(), tap_variant: z.string().optional(), api_key: z.string().optional(), site_slug: z.string().optional()}); export const integrationDetailsSchemaNotionOutput = z.object({name: z.string().optional(), integration_type: z.literal("notion").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), code: z.string(), redirectUri: z.string().optional(), accessToken: z.string().optional(), timestamp: z.string().optional(), expires_in: z.number().int().optional(), refreshToken: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("notion").optional(), tap_variant: z.string().optional(), client_id: z.string(), client_secret: z.string()}); export const integrationDetailsSchemaHolidays = z.object({name: z.string().optional(), integration_type: z.literal("holidays").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("holidays").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaMonday = z.object({name: z.string().optional(), integration_type: z.literal("monday").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("monday").optional(), tap_variant: z.string().optional(), auth_token: z.string().optional()}); export const integrationDetailsSchemaAmazonAssociates = z.object({name: z.string().optional(), integration_type: z.literal("amazonassociates").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("amazonassociates").optional(), tap_variant: z.string().optional(), username: z.string().optional(), password: z.string().optional()}); export const integrationDetailsSchemaAwsCognito = z.object({name: z.string().optional(), integration_type: z.literal("awscognito").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("awscognito").optional(), tap_variant: z.string().optional(), pool_id: z.string().optional()}); export const integrationDetailsSchemaShoplazza = z.object({name: z.string().optional(), integration_type: z.literal("shoplazza").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("shoplazza").optional(), tap_variant: z.string().optional(), auth_token: z.string().optional()}); export const integrationDetailsSchemaDixa = z.object({name: z.string().optional(), integration_type: z.literal("dixa").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("dixa").optional(), tap_variant: z.string().optional(), api_token: z.string().optional()}); export const integrationDetailsSchemaOkta = z.object({name: z.string().optional(), integration_type: z.literal("okta").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("okta").optional(), tap_variant: z.string().optional(), api_key: z.string().optional(), service_url: z.string().optional()}); export const integrationDetailsSchemaMarketplacer = z.object({name: z.string().optional(), integration_type: z.literal("marketplacer").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("marketplacer").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaKeap = z.object({name: z.string().optional(), integration_type: z.literal("keap").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("keap").optional(), tap_variant: z.string().optional(), client_id: z.string().optional(), client_secret: z.string().optional()}); export const integrationDetailsSchemaAcuite = z.object({name: z.string().optional(), integration_type: z.literal("acuite").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("acuite").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaActiveCampaign = z.object({name: z.string().optional(), integration_type: z.literal("activecampaign").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("activecampaign").optional(), tap_variant: z.string().optional(), api_url: z.string().optional(), api_token: z.string().optional(), start_date: z.string().optional(), user_agent: z.string().optional()}); export const integrationDetailsSchemaLightdash = z.object({name: z.string().optional(), integration_type: z.literal("lightdash").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("lightdash").optional(), tap_variant: z.string().optional(), url: z.string().optional()}); export const integrationDetailsSchemaTypeform = z.object({name: z.string().optional(), integration_type: z.literal("typeform").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("typeform").optional(), tap_variant: z.string().optional(), personal_access_token: z.string().optional()}); export const integrationDetailsSchemaSegment = z.object({name: z.string().optional(), integration_type: z.literal("segment").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("segment").optional(), tap_variant: z.string().optional(), api_token: z.string().optional()}); export const integrationDetailsSchemaMailerlite = z.object({name: z.string().optional(), integration_type: z.literal("mailerlite").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("mailerlite").optional(), tap_variant: z.string().optional(), auth_token: z.string().optional()}); export const integrationDetailsSchemaIterable = z.object({name: z.string().optional(), integration_type: z.literal("iterable").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("iterable").optional(), tap_variant: z.string().optional(), api_key: z.string().optional(), api_window_in_days: z.number().int().optional()}); export const integrationDetailsSchemaTwilio = z.object({name: z.string().optional(), integration_type: z.literal("twilio").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("twilio").optional(), tap_variant: z.string().optional(), account_sid: z.string().optional(), auth_token: z.string().optional(), start_date: z.string().optional()}); export const integrationDetailsSchemaRedshift = z.object({name: z.string().optional(), integration_type: z.literal("redshift").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), username: z.string(), password: z.string(), host: z.string(), port: z.number().int(), database: z.string(), use_static_egress_ip: z.boolean().optional(), display_name: z.string().optional(), discriminator: z.literal("redshift").optional()}); export const integrationDetailsSchemaBigMarker = z.object({name: z.string().optional(), integration_type: z.literal("bigmarker").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("bigmarker").optional(), tap_variant: z.string().optional(), api_url: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaLoopreturns = z.object({name: z.string().optional(), integration_type: z.literal("loopreturns").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("loopreturns").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaLessonly = z.object({name: z.string().optional(), integration_type: z.literal("lessonly").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("lessonly").optional(), tap_variant: z.string().optional(), api_key: z.string().optional(), subdomain: z.string().optional()}); export const sshConfig = z.object({server: z.string().optional(), port: z.number().int().optional(), user: z.string().optional(), private_key: z.string().nullable().optional()}); export const integrationDetailsSchemaMySql = z.object({name: z.string().optional(), integration_type: z.literal("mysql").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), username: z.string(), password: z.string(), host: z.string(), port: z.number().int(), database: z.string(), use_static_egress_ip: z.boolean().optional(), display_name: z.string().optional(), discriminator: z.literal("mysql").optional(), ssh_config: sshConfig.nullable().optional()}); export const integrationDetailsSchemaPartoo = z.object({name: z.string().optional(), integration_type: z.literal("partoo").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("partoo").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaFacebookAdsSystemUser = z.object({name: z.string().optional(), integration_type: z.literal("facebookads_system_user").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("facebookads_system_user").optional(), tap_variant: z.string().optional(), access_token: z.string().optional(), accountId: z.string().optional(), startDate: z.string().optional()}); export const integrationDetailsSchemaSquare = z.object({name: z.string().optional(), integration_type: z.literal("square").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("square").optional(), tap_variant: z.string().optional(), access_token: z.string().optional()}); export const integrationDetailsSchemaBigquery = z.object({name: z.string().optional(), integration_type: z.literal("bigquery").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), serviceAccountKey: z.record(z.string(), z.unknown()).nullable().optional(), project_id: z.string().nullable().optional(), discriminator: z.literal("bigquery").optional(), display_name: z.string().optional()}); export const integrationDetailsSchemaSleeper = z.object({name: z.string().optional(), integration_type: z.literal("sleeper").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("sleeper").optional(), tap_variant: z.string().optional(), sport: z.string().optional()}); export const integrationDetailsSchemaDatadog = z.object({name: z.string().optional(), integration_type: z.literal("datadog").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("datadog").optional(), tap_variant: z.string().optional(), app_key: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaSumologic = z.object({name: z.string().optional(), integration_type: z.literal("sumologic").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("sumologic").optional(), tap_variant: z.string().optional(), sumologic_access_id: z.string().optional(), sumologic_access_key: z.string().optional(), sumologic_root_url: z.string().optional()}); export const integrationDetailsSchemaGreenhouse = z.object({name: z.string().optional(), integration_type: z.literal("greenhouse").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("greenhouse").optional(), tap_variant: z.string().optional(), auth_token: z.string().optional()}); export const integrationDetailsSchemaZohoCrmOutput = z.object({name: z.string().optional(), integration_type: z.literal("zohocrm").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), code: z.string(), redirectUri: z.string().optional(), accessToken: z.string().optional(), timestamp: z.string().optional(), expires_in: z.number().int().optional(), refreshToken: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("zohocrm").optional(), tap_variant: z.string().optional(), start_date: z.string().optional(), client_id: z.string(), client_secret: z.string()}); export const integrationDetailsSchemaShipstation = z.object({name: z.string().optional(), integration_type: z.literal("shipstation").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("shipstation").optional(), tap_variant: z.string().optional(), api_key: z.string().optional(), api_secret: z.string().optional(), default_start_datetime: z.string().optional()}); export const integrationDetailsSchemaSalesforceOutput = z.object({name: z.string().optional(), integration_type: z.literal("salesforce").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), code: z.string(), redirectUri: z.string().optional(), accessToken: z.string().optional(), timestamp: z.string().optional(), expires_in: z.number().int().optional(), refreshToken: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("salesforce").optional(), tap_variant: z.string().optional(), login_domain: z.string().optional(), client_id: z.string(), client_secret: z.string()}); export const integrationDetailsSchemaNiceIncontact = z.object({name: z.string().optional(), integration_type: z.literal("niceincontact").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("niceincontact").optional(), tap_variant: z.string().optional(), api_key: z.string().optional(), api_secret: z.string().optional(), api_cluster: z.string().optional()}); export const integrationDetailsSchemaFullstory = z.object({name: z.string().optional(), integration_type: z.literal("fullstory").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("fullstory").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaSendinblue = z.object({name: z.string().optional(), integration_type: z.literal("sendinblue").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("sendinblue").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaZammad = z.object({name: z.string().optional(), integration_type: z.literal("zammad").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("zammad").optional(), tap_variant: z.string().optional(), auth_token: z.string().optional(), api_base_url: z.string().optional()}); export const integrationDetailsSchemaSlackOutput = z.object({name: z.string().optional(), integration_type: z.literal("slack").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), code: z.string(), redirectUri: z.string().optional(), accessToken: z.string().optional(), timestamp: z.string().optional(), expires_in: z.number().int().optional(), refreshToken: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("slack").optional(), slack_team_id: z.string().optional(), client_id: z.string(), client_secret: z.string()}); export const integrationDetailsSchemaPodBean = z.object({name: z.string().optional(), integration_type: z.literal("podbean").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("podbean").optional(), tap_variant: z.string().optional(), client_secret: z.string().optional(), client_id: z.string().optional()}); export const integrationDetailsSchemaMindstamp = z.object({name: z.string().optional(), integration_type: z.literal("mindstamp").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("mindstamp").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaAppleHealth = z.object({name: z.string().optional(), integration_type: z.literal("applehealth").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("applehealth").optional(), tap_variant: z.string().optional(), file_path: z.string().optional()}); export const integrationDetailsSchemaClickcast = z.object({name: z.string().optional(), integration_type: z.literal("clickcast").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("clickcast").optional(), tap_variant: z.string().optional(), partner_token: z.string().optional()}); export const integrationDetailsSchemaMarketo = z.object({name: z.string().optional(), integration_type: z.literal("marketo").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("marketo").optional(), tap_variant: z.string().optional(), client_id: z.string().optional(), client_secret: z.string().optional(), endpoint: z.string().optional()}); export const integrationDetailsSchemaS3 = z.object({name: z.string().optional(), integration_type: z.literal("s3").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("S3").optional(), tap_variant: z.string().optional(), access_key: z.string(), access_key_secret: z.string(), region: z.string(), bucket: z.string().nullable().optional(), dataset: z.string().nullable().optional(), primary_key: z.string().nullable().optional(), path_pattern: z.string().nullable().optional(), format: z.string().nullable().optional(), is_posthog: z.boolean().optional()}); export const integrationDetailsSchemaAtInternet = z.object({name: z.string().optional(), integration_type: z.literal("atinternet").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("atinternet").optional(), tap_variant: z.string().optional(), site_id: z.number().int().optional(), secret_key: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaImmuta = z.object({name: z.string().optional(), integration_type: z.literal("immuta").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("immuta").optional(), tap_variant: z.string().optional(), api_key: z.string().optional(), hostname: z.string().optional()}); export const integrationDetailsSchemaClickup = z.object({name: z.string().optional(), integration_type: z.literal("clickup").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("clickup").optional(), tap_variant: z.string().optional(), api_token: z.string().optional()}); export const integrationDetailsSchemaDagster = z.object({name: z.string().optional(), integration_type: z.literal("dagster").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("dagster").optional(), tap_variant: z.string().optional(), auth_token: z.string().optional(), api_url: z.string().optional()}); export const integrationDetailsSchemaFishbowl = z.object({name: z.string().optional(), integration_type: z.literal("fishbowl").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("fishbowl").optional(), tap_variant: z.string().optional(), username: z.string().optional(), password: z.string().optional(), instance: z.string().optional(), app_name: z.string().optional(), app_id: z.string().optional()}); export const integrationDetailsSchemaPicqer = z.object({name: z.string().optional(), integration_type: z.literal("picqer").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("picqer").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaStripe = z.object({name: z.string().optional(), integration_type: z.literal("stripe").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("stripe").optional(), tap_variant: z.string().optional(), account_id: z.string().optional(), client_secret: z.string().optional(), sigma_queries: z.string().nullable().optional()}); export const integrationDetailsSchemaIntercomOutput = z.object({name: z.string().optional(), integration_type: z.literal("intercom").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), code: z.string(), redirectUri: z.string().optional(), accessToken: z.string().optional(), timestamp: z.string().optional(), expires_in: z.number().int().optional(), refreshToken: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("intercom").optional(), tap_variant: z.string().optional(), client_id: z.string(), client_secret: z.string()}); export const integrationDetailsSchemaDucklake = z.object({name: z.string().optional(), integration_type: z.literal("ducklake").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), discriminator: z.literal("ducklake").optional(), display_name: z.string().optional(), region: z.enum(["US", "EU", "EUROPE-WEST2", "ASIA", "AUSTRALIA-SOUTHEAST1"]).optional(), history_days: z.number().int().gte(0).optional(), batch_size_rows_override: z.number().int().nullable().optional(), pg_host: z.string().nullable().optional(), pg_port: z.number().int().nullable().optional(), pg_supavisor_port: z.number().int().nullable().optional(), pg_database: z.string().nullable().optional(), pg_schema: z.string().nullable().optional(), pg_user: z.string().nullable().optional(), pg_password: z.string().nullable().optional(), pg_role: z.string().nullable().optional(), usePgbouncer: z.boolean().optional(), pgbouncerFlaggedAt: z.string().nullable().optional(), usesSharedRuntime: z.boolean().optional(), gcs_bucket_path: z.string().nullable().optional(), gcs_access_key_id: z.string().nullable().optional(), gcs_secret_access_key: z.string().nullable().optional(), gcp_service_account_email: z.string().nullable().optional(), serviceAccountKey: z.record(z.string(), z.unknown()).nullable().optional(), ducklake_max_retry_count: z.number().int().gte(0).nullable().optional(), ducklake_retry_wait_ms: z.number().int().gte(0).nullable().optional(), ducklake_retry_backoff: z.number().gte(1).nullable().optional(), server_url: z.string().nullable().optional(), default_schema: z.string().nullable().optional(), rewrite_to_integration_id: z.string().nullable().optional()}); export const integrationDetailsSchemaSailthru = z.object({name: z.string().optional(), integration_type: z.literal("sailthru").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("sailthru").optional(), tap_variant: z.string().optional(), api_key: z.string().optional(), api_secret: z.string().optional(), account_name: z.string().optional()}); export const integrationDetailsSchemaVeeqo = z.object({name: z.string().optional(), integration_type: z.literal("veeqo").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("veeqo").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaTradera = z.object({name: z.string().optional(), integration_type: z.literal("tradera").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("tradera").optional(), tap_variant: z.string().optional(), app_key: z.string().optional(), app_id: z.string().optional()}); export const integrationDetailsSchemaAppStore = z.object({name: z.string().optional(), integration_type: z.literal("appstore").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("appstore").optional(), tap_variant: z.string().optional(), vendor: z.string().optional(), key_id: z.string().optional(), key_file: z.string().optional(), issuer_id: z.string().optional()}); export const integrationDetailsSchemaCloseio = z.object({name: z.string().optional(), integration_type: z.literal("closeio").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("closeio").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaDashHudson = z.object({name: z.string().optional(), integration_type: z.literal("dashhudson").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("dashhudson").optional(), tap_variant: z.string().optional(), brand_id: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaPartnerize = z.object({name: z.string().optional(), integration_type: z.literal("partnerize").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("partnerize").optional(), tap_variant: z.string().optional(), username: z.string().optional(), publisher_id: z.string().optional(), password: z.string().optional()}); export const integrationDetailsSchemaAircall = z.object({name: z.string().optional(), integration_type: z.literal("aircall").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("aircall").optional(), tap_variant: z.string().optional(), api_key: z.string().optional(), api_token: z.string().optional()}); export const integrationDetailsSchemaHubspot = z.object({name: z.string().optional(), integration_type: z.literal("hubspot").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("hubspot").optional(), access_token: z.string().optional()}); export const integrationDetailsSchemaQualified = z.object({name: z.string().optional(), integration_type: z.literal("qualified").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("qualified").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaGong = z.object({name: z.string().optional(), integration_type: z.literal("gong").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("gong").optional(), tap_variant: z.string().optional(), access_key: z.string().optional(), access_key_secret: z.string().optional()}); export const integrationDetailsSchemaCanvas = z.object({name: z.string().optional(), integration_type: z.literal("canvas").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("canvas").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaMegaphone = z.object({name: z.string().optional(), integration_type: z.literal("megaphone").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("megaphone").optional(), tap_variant: z.string().optional(), organization_id: z.string().optional(), auth_token: z.string().optional()}); export const integrationDetailsSchemaGoogleSheetsOutput = z.object({name: z.string().optional(), integration_type: z.literal("googlesheets").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), code: z.string(), redirectUri: z.string().optional(), accessToken: z.string().optional(), timestamp: z.string().optional(), expires_in: z.number().int().optional(), refreshToken: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("googlesheets").optional(), tap_variant: z.string().optional(), sheet_id: z.string(), key_properties: z.string().nullable().optional(), child_sheet_name: z.string().nullable().optional(), stream_name: z.string().nullable().optional(), client_id: z.string(), client_secret: z.string()}); export const integrationDetailsSchemaSalesloft = z.object({name: z.string().optional(), integration_type: z.literal("salesloft").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("salesloft").optional(), api_key: z.string()}); export const integrationDetailsSchemaGoogleSearchConsoleOutput = z.object({name: z.string().optional(), integration_type: z.literal("googlesearchconsole").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), code: z.string(), redirectUri: z.string().optional(), accessToken: z.string().optional(), timestamp: z.string().optional(), expires_in: z.number().int().optional(), refreshToken: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("googlesearchconsole").optional(), tap_variant: z.string().optional(), site_urls: z.string().nullable().optional(), client_id: z.string(), client_secret: z.string()}); export const integrationDetailsSchemaCoinGecko = z.object({name: z.string().optional(), integration_type: z.literal("coingecko").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("coingecko").optional(), tap_variant: z.string().optional(), token: z.string().optional()}); export const integrationDetailsSchemaMode = z.object({name: z.string().optional(), integration_type: z.literal("mode").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("mode").optional(), tap_variant: z.string().optional(), workspace: z.string().optional(), auth_token: z.string().optional()}); export const integrationDetailsSchemaFreshworks = z.object({name: z.string().optional(), integration_type: z.literal("freshworks").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("freshworks").optional(), tap_variant: z.string().optional(), org_name: z.string().optional(), auth_token: z.string().optional()}); export const integrationDetailsSchemaADP = z.object({name: z.string().optional(), integration_type: z.literal("adp").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("adp").optional(), tap_variant: z.string().optional(), client_id: z.string().optional(), client_secret: z.string().optional(), public_ssl_certificate: z.string().optional(), private_ssl_key: z.string().optional()}); export const integrationDetailsSchemaGcs = z.object({name: z.string().optional(), integration_type: z.literal("gcs").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), serviceAccountKey: z.record(z.string(), z.unknown()).nullable().optional(), project_id: z.string().nullable().optional(), discriminator: z.literal("gcs").optional(), display_name: z.string().optional()}); export const integrationDetailsSchemaLinkedinAds = z.object({name: z.string().optional(), integration_type: z.literal("linkedinads").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("linkedinads").optional(), access_token: z.string().optional(), accounts: z.string().optional(), campaign: z.string().optional(), campaign_group: z.string().optional(), creative: z.string().optional(), owner: z.string().optional()}); export const integrationDetailsSchemaApaleo = z.object({name: z.string().optional(), integration_type: z.literal("apaleo").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("apaleo").optional(), tap_variant: z.string().optional(), client_secret: z.string().optional(), client_id: z.string().optional()}); export const integrationDetailsSchemaCustom = z.object({name: z.string().optional(), integration_type: z.literal("custom").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), discriminator: z.literal("custom").optional(), display_name: z.string().optional(), secrets: z.record(z.string(), z.string()).optional()}).and(z.record(z.string(), z.unknown())); export const integrationDetailsSchemaEmarsys = z.object({name: z.string().optional(), integration_type: z.literal("emarsys").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("emarsys").optional(), tap_variant: z.string().optional(), username: z.string().optional(), secret: z.string().optional()}); export const sslConfig = z.object({certificate_authority: z.string().optional(), client_certificate: z.string().optional(), client_certificate_enable: z.boolean().optional(), client_private_key: z.string().optional(), mode: z.string().optional()}); export const integrationDetailsSchemaPostgres = z.object({name: z.string().optional(), integration_type: z.literal("postgres").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), username: z.string(), password: z.string(), host: z.string(), port: z.number().int().optional(), database: z.string(), use_static_egress_ip: z.boolean().optional(), display_name: z.string().optional(), discriminator: z.literal("postgres").optional(), use_ssh: z.boolean().optional(), ssh_config: sshConfig.nullable().optional(), use_ssl: z.boolean().optional(), ssl_config: sslConfig.nullable().optional()}); export const integrationDetailsSchemaAmplitude = z.object({name: z.string().optional(), integration_type: z.literal("amplitude").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("amplitude").optional(), tap_variant: z.string().optional(), api_key: z.string().optional(), secret_key: z.string().optional(), is_eu_data_region: z.boolean().optional(), start_date: z.string().optional()}); export const integrationDetailsSchemaHotjar = z.object({name: z.string().optional(), integration_type: z.literal("hotjar").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("hotjar").optional(), tap_variant: z.string().optional(), email: z.string().optional(), password: z.string().optional()}); export const integrationDetailsSchemaExcelOutput = z.object({name: z.string().optional(), integration_type: z.literal("excel").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), code: z.string(), redirectUri: z.string().optional(), accessToken: z.string().optional(), timestamp: z.string().optional(), expires_in: z.number().int().optional(), refreshToken: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("excel").optional(), client_id: z.string(), client_secret: z.string()}); export const integrationDetailsSchemaWoocommerce = z.object({name: z.string().optional(), integration_type: z.literal("woocommerce").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("woocommerce").optional(), tap_variant: z.string().optional(), consumer_key: z.string().optional(), consumer_secret: z.string().optional(), site_url: z.string().optional()}); export const integrationDetailsSchemaSheetsOutput = z.object({name: z.string().optional(), integration_type: z.literal("sheets").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), code: z.string(), redirectUri: z.string().optional(), accessToken: z.string().optional(), timestamp: z.string().optional(), expires_in: z.number().int().optional(), refreshToken: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("sheets").optional(), client_id: z.string(), client_secret: z.string()}); export const integrationDetailsSchemaMongoDB = z.object({name: z.string().optional(), integration_type: z.literal("mongodb").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("mongodb").optional(), tap_variant: z.string().optional(), username: z.string(), password: z.string(), host: z.string(), port: z.number().int().optional(), database_includes: z.string().optional(), database_excludes: z.string().optional(), use_ssh: z.boolean().optional(), ssh_config: sshConfig.nullable().optional(), use_static_egress_ip: z.boolean().optional()}); export const integrationDetailsSchemaNetrivals = z.object({name: z.string().optional(), integration_type: z.literal("netrivals").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("netrivals").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaMsGraph = z.object({name: z.string().optional(), integration_type: z.literal("msgraph").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("msgraph").optional(), tap_variant: z.string().optional(), client_secret: z.string().optional(), tenant: z.string().optional(), client_id: z.string().optional()}); export const integrationDetailsSchemaSnowflake = z.object({name: z.string().optional(), integration_type: z.literal("snowflake").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), use_static_egress_ip: z.boolean().optional(), display_name: z.string().optional(), discriminator: z.literal("snowflake").optional(), username: z.string(), password: z.string(), account: z.string(), role: z.string(), warehouse: z.string().nullable(), database: z.string(), asyncExec: z.boolean().nullable().optional()}); export const integrationDetailsSchemaMoosend = z.object({name: z.string().optional(), integration_type: z.literal("moosend").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("moosend").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaUnleashed = z.object({name: z.string().optional(), integration_type: z.literal("unleashed").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("unleashed").optional(), tap_variant: z.string().optional(), api_auth_signature: z.string().optional(), api_auth_id: z.string().optional(), startDate: z.string().optional()}); export const integrationDetailsSchemaBazaarvoice = z.object({name: z.string().optional(), integration_type: z.literal("bazaarvoice").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("bazaarvoice").optional(), tap_variant: z.string().optional(), api_version: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaQuickbooksOutput = z.object({name: z.string().optional(), integration_type: z.literal("quickbooks").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), code: z.string(), redirectUri: z.string().optional(), accessToken: z.string().optional(), timestamp: z.string().optional(), expires_in: z.number().int().optional(), refreshToken: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("quickbooks").optional(), tap_variant: z.string().optional(), realmId: z.string(), start_date: z.string().optional(), client_id: z.string(), client_secret: z.string()}); export const integrationDetailsSchemaMetronome = z.object({name: z.string().optional(), integration_type: z.literal("metronome").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("metronome").optional(), tap_variant: z.string().optional(), auth_token: z.string().optional()}); export const integrationDetailsSchemaAwsCostExplorer = z.object({name: z.string().optional(), integration_type: z.literal("awscostexplorer").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("awscostexplorer").optional(), tap_variant: z.string().optional(), secret_key: z.string().optional(), metrics: z.array(z.string()).optional(), granularity: z.string().optional(), access_key: z.string().optional()}); export const integrationDetailsSchemaAbra = z.object({name: z.string().optional(), integration_type: z.literal("abra").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("abra").optional(), tap_variant: z.string().optional(), username: z.string().optional(), password: z.string().optional()}); export const integrationDetailsSchemaLinear = z.object({name: z.string().optional(), integration_type: z.literal("linear").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("linear").optional(), tap_variant: z.string().optional(), auth_token: z.string().optional(), start_date: z.string().optional()}); export const integrationDetailsSchemaMercadopago = z.object({name: z.string().optional(), integration_type: z.literal("mercadopago").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("mercadopago").optional(), tap_variant: z.string().optional(), auth_token: z.string().optional()}); export const integrationDetailsSchemaGladly = z.object({name: z.string().optional(), integration_type: z.literal("gladly").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("gladly").optional(), tap_variant: z.string().optional(), username: z.string().optional(), password: z.string().optional()}); export const integrationDetailsSchemaAttio = z.object({name: z.string().optional(), integration_type: z.literal("attio").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("attio").optional(), tap_variant: z.string().optional(), access_token: z.string().optional()}); export const integrationDetailsSchemaShowpad = z.object({name: z.string().optional(), integration_type: z.literal("showpad").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("showpad").optional(), tap_variant: z.string().optional(), api_key: z.string().optional(), subdomain: z.string().optional()}); export const integrationDetailsSchemaAftership = z.object({name: z.string().optional(), integration_type: z.literal("aftership").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("aftership").optional(), tap_variant: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaFreshcaller = z.object({name: z.string().optional(), integration_type: z.literal("freshcaller").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("freshcaller").optional(), tap_variant: z.string().optional(), org_name: z.string().optional(), api_key: z.string().optional()}); export const integrationDetailsSchemaQls = z.object({name: z.string().optional(), integration_type: z.literal("qls").optional(), category: z.string().optional(), etlConfig: integrationETLConfig.nullable().optional(), internal: z.boolean().optional(), is_valid: z.boolean().optional(), error: z.string().optional(), display_name: z.string().optional(), discriminator: z.literal("qls").optional(), tap_variant: z.string().optional(), company_id: z.string().optional(), username: z.string().optional(), password: z.string().optional()}); export const anyIntegrationDetailsSchemaOutput = z.discriminatedUnion("integration_type", [integrationDetailsSchemaFastly, integrationDetailsSchemaAirtable, integrationDetailsSchemaUdemyForBusiness, integrationDetailsSchemaGetPocket, integrationDetailsSchemaSellsy, integrationDetailsSchemaShopify, integrationDetailsSchemaMailjet, integrationDetailsSchemaLinkedinPagesOutput, integrationDetailsSchemaTrustrace, integrationDetailsSchemaMaestroqa, integrationDetailsSchemaOmnisend, integrationDetailsSchemaPeloton, integrationDetailsSchemaKlaviyo, integrationDetailsSchemaStamped, integrationDetailsSchemaAbicart, integrationDetailsSchemaGithub, integrationDetailsSchemaRecurly, integrationDetailsSchemaThinkific, integrationDetailsSchemaBexio, integrationDetailsSchemaSmartsheet, integrationDetailsSchemaKrow, integrationDetailsSchemaJudgeme, integrationDetailsSchemaFreshdesk, integrationDetailsSchemaAskNicely, integrationDetailsSchemaOrdoro, integrationDetailsSchemaAcumatica, integrationDetailsSchemaIceberg, integrationDetailsSchemaClientSuccess, integrationDetailsSchemaInstagramOutput, integrationDetailsSchemaShipbob, integrationDetailsSchemaJira, integrationDetailsSchemaGoogleAnalyticsOutput, integrationDetailsSchemaGoogleAdsOutput, integrationDetailsSchemaMiro, integrationDetailsSchemaDomo, integrationDetailsSchemaBrillium, integrationDetailsSchemaPlentymarkets, integrationDetailsSchemaMavenLink, integrationDetailsSchemaCloudwatch, integrationDetailsSchemaWebflow, integrationDetailsSchemaAmazonSellingPartnerOutput, integrationDetailsSchemaMontapacking, integrationDetailsSchemaChorusai, integrationDetailsSchemaCurrencyFreaks, integrationDetailsSchemaRecruitee, integrationDetailsSchemaHellobaton, integrationDetailsSchemaFacebookAdsOutput, integrationDetailsSchemaCube, integrationDetailsSchemaZendesk, integrationDetailsSchemaPulumiCloud, integrationDetailsSchemaNetsuite, integrationDetailsSchemaShiphero, integrationDetailsSchemaAnvil, integrationDetailsSchemaGainsightPx, integrationDetailsSchemaSqlServer, integrationDetailsSchemaNetlify, integrationDetailsSchemaTravefy, integrationDetailsSchemaAmazonAdvertisingOutput, integrationDetailsSchemaTikTokAds, integrationDetailsSchemaJotform, integrationDetailsSchemaMixpanel, integrationDetailsSchemaBambooHr, integrationDetailsSchemaMessagebird, integrationDetailsSchemaPipedrive, integrationDetailsSchemaNetohq, integrationDetailsSchemaSharepointSitesOutput, integrationDetailsSchemaMemberful, integrationDetailsSchemaTalkable, integrationDetailsSchemaNotionOutput, integrationDetailsSchemaHolidays, integrationDetailsSchemaMonday, integrationDetailsSchemaAmazonAssociates, integrationDetailsSchemaAwsCognito, integrationDetailsSchemaShoplazza, integrationDetailsSchemaDixa, integrationDetailsSchemaOkta, integrationDetailsSchemaMarketplacer, integrationDetailsSchemaKeap, integrationDetailsSchemaAcuite, integrationDetailsSchemaActiveCampaign, integrationDetailsSchemaLightdash, integrationDetailsSchemaTypeform, integrationDetailsSchemaSegment, integrationDetailsSchemaMailerlite, integrationDetailsSchemaIterable, integrationDetailsSchemaTwilio, integrationDetailsSchemaRedshift, integrationDetailsSchemaBigMarker, integrationDetailsSchemaLoopreturns, integrationDetailsSchemaLessonly, integrationDetailsSchemaMySql, integrationDetailsSchemaPartoo, integrationDetailsSchemaFacebookAdsSystemUser, integrationDetailsSchemaSquare, integrationDetailsSchemaBigquery, integrationDetailsSchemaSleeper, integrationDetailsSchemaDatadog, integrationDetailsSchemaSumologic, integrationDetailsSchemaGreenhouse, integrationDetailsSchemaZohoCrmOutput, integrationDetailsSchemaShipstation, integrationDetailsSchemaSalesforceOutput, integrationDetailsSchemaNiceIncontact, integrationDetailsSchemaFullstory, integrationDetailsSchemaSendinblue, integrationDetailsSchemaZammad, integrationDetailsSchemaSlackOutput, integrationDetailsSchemaPodBean, integrationDetailsSchemaMindstamp, integrationDetailsSchemaAppleHealth, integrationDetailsSchemaClickcast, integrationDetailsSchemaMarketo, integrationDetailsSchemaS3, integrationDetailsSchemaAtInternet, integrationDetailsSchemaImmuta, integrationDetailsSchemaClickup, integrationDetailsSchemaDagster, integrationDetailsSchemaFishbowl, integrationDetailsSchemaPicqer, integrationDetailsSchemaStripe, integrationDetailsSchemaIntercomOutput, integrationDetailsSchemaDucklake, integrationDetailsSchemaSailthru, integrationDetailsSchemaVeeqo, integrationDetailsSchemaTradera, integrationDetailsSchemaAppStore, integrationDetailsSchemaCloseio, integrationDetailsSchemaDashHudson, integrationDetailsSchemaPartnerize, integrationDetailsSchemaAircall, integrationDetailsSchemaHubspot, integrationDetailsSchemaQualified, integrationDetailsSchemaGong, integrationDetailsSchemaCanvas, integrationDetailsSchemaMegaphone, integrationDetailsSchemaGoogleSheetsOutput, integrationDetailsSchemaSalesloft, integrationDetailsSchemaGoogleSearchConsoleOutput, integrationDetailsSchemaCoinGecko, integrationDetailsSchemaMode, integrationDetailsSchemaFreshworks, integrationDetailsSchemaADP, integrationDetailsSchemaGcs, integrationDetailsSchemaLinkedinAds, integrationDetailsSchemaApaleo, integrationDetailsSchemaCustom, integrationDetailsSchemaEmarsys, integrationDetailsSchemaPostgres, integrationDetailsSchemaAmplitude, integrationDetailsSchemaHotjar, integrationDetailsSchemaExcelOutput, integrationDetailsSchemaWoocommerce, integrationDetailsSchemaSheetsOutput, integrationDetailsSchemaMongoDB, integrationDetailsSchemaNetrivals, integrationDetailsSchemaMsGraph, integrationDetailsSchemaSnowflake, integrationDetailsSchemaMoosend, integrationDetailsSchemaUnleashed, integrationDetailsSchemaBazaarvoice, integrationDetailsSchemaQuickbooksOutput, integrationDetailsSchemaMetronome, integrationDetailsSchemaAwsCostExplorer, integrationDetailsSchemaAbra, integrationDetailsSchemaLinear, integrationDetailsSchemaMercadopago, integrationDetailsSchemaGladly, integrationDetailsSchemaAttio, integrationDetailsSchemaShowpad, integrationDetailsSchemaAftership, integrationDetailsSchemaFreshcaller, integrationDetailsSchemaQls]); export const integration = z.object({id: z.union([z.string(), z.string()]).optional(), team_id: z.union([z.string(), z.string()]).optional(), user_id: z.union([z.string(), z.string()]).optional(), type: integrationType, details: anyIntegrationDetailsSchemaOutput, sync_enabled: z.boolean().nullable().optional(), created_at: z.string().optional(), updated_at: z.string().optional()}); export const responseMeta = z.object({requestId: z.string().optional(), timestamp: z.string().optional(), durationMs: z.number().int().nullable().optional()}); export const successResponseIntegration = z.object({success: z.literal(true), data: integration, meta: responseMeta.optional()}); 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 }; /** * Toggle integration sync * * PATCH /v4/integrations/{integration_id}/sync */ export const patchApiV4IntegrationsIntegrationIdSync = async (args: PatchApiV4IntegrationsIntegrationIdSyncArgs, options: PatchApiV4IntegrationsIntegrationIdSyncOptions) => { const {baseUrl, fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "application/json") const url = `${baseUrl.replace(/\/+$/, '')}/v4/integrations/${encodeURIComponent(String(args.integration_id))}/sync${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "PATCH", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(successResponseIntegration, await res.json()) };