export type PatchApiApiTrackerV2SettingsAppAppIdArgs = {app_id: string, body: {data: {type: 'tracker/settings/app', id: string, attributes?: ({anonymize_visitor_geolocation_level?: ('none' | 'City' | 'Region' | 'Country' | 'Continent') | undefined, anonymize_visitor_ip_level?: (0 | 1 | 2 | 3 | 4) | undefined, campaign_content_params?: Array | undefined, campaign_id_params?: Array | undefined, campaign_keyword_params?: Array | undefined, campaign_medium_params?: Array | undefined, campaign_name_params?: Array | undefined, campaign_source_params?: Array | undefined, create_new_visit_when_campaign_changes?: boolean | undefined, create_new_visit_when_website_referrer_changes?: boolean | undefined, enable_fingerprinting_across_websites?: boolean | undefined, set_ip_tracking?: boolean | undefined, exclude_crawlers?: boolean | undefined, exclude_unknown_urls?: boolean | undefined, excluded_ips?: Array | undefined, excluded_user_agents?: Array | undefined, fingerprint_based_on_anonymized_ip?: boolean | undefined, keep_url_fragment?: boolean | undefined, session_limit_exceeded_action?: ('split_and_exclude' | 'just_split') | undefined, session_max_duration_seconds?: number | undefined, session_max_event_count?: number | undefined, site_search_category_params?: Array | undefined, site_search_query_params?: Array | undefined, strip_site_search_query_parameters?: boolean | undefined, tracking_fingerprint_disabled?: boolean | undefined, trust_visitors_cookies?: boolean | undefined, use_session_hash?: boolean | undefined, use_anonymous_session_hash?: boolean | undefined, url_query_parameter_to_exclude_from_url?: Array | undefined, urls?: Array | undefined, updated_at?: string | undefined}) | undefined}}}; export type PatchApiApiTrackerV2SettingsAppAppIdOptions = {baseUrl?: string | undefined, OAuth2ClientCredentials?: string | undefined, fetch?: typeof fetch | undefined}; /** * Edit tracker settings of an app * * PATCH /api/tracker/v2/settings/app/{app_id} */ export const patchApiApiTrackerV2SettingsAppAppId = async (args: PatchApiApiTrackerV2SettingsAppAppIdArgs, options?: PatchApiApiTrackerV2SettingsAppAppIdOptions) => { const {baseUrl = "https://example.piwik.pro", fetch: fetchFn = fetch, OAuth2ClientCredentials} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/vnd.api+json") if (OAuth2ClientCredentials !== undefined) headers.set('authorization', `Bearer ${OAuth2ClientCredentials}`) const url = `${baseUrl.replace(/\/+$/, '')}/api/tracker/v2/settings/app/${encodeURIComponent(String(args.app_id))}${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 undefined };