export type UpdateApiV2CustomersCustomerIdDomainsNotificationsOptInArgs = {'X-Request-Id'?: string | undefined, customerId: string, types: Array<'AUTH_CODE_PURCHASE' | 'AUTH_CODE_REGENERATE' | 'AUTO_RENEWAL' | 'BACKORDER' | 'BACKORDER_PURCHASE' | 'BACKORDER_DELETE' | 'BACKORDER_UPDATE' | 'CHANGE_OF_REGISTRANT_DELETE' | 'CONTACT_CREATE' | 'CONTACT_DELETE' | 'CONTACT_UPDATE' | 'DNS_VERIFICATION' | 'DNSSEC_CREATE' | 'DNSSEC_DELETE' | 'DOMAIN_DELETE' | 'DOMAIN_UPDATE' | 'DOMAIN_UPDATE_CONTACTS' | 'DOMAIN_UPDATE_NAME_SERVERS' | 'EXPIRY' | 'HOST_CREATE' | 'HOST_DELETE' | 'ICANN_VERIFICATION' | 'MIGRATE' | 'MIGRATE_IN' | 'PREMIUM' | 'PRIVACY_FORWARDING_UPDATE' | 'PRIVACY_PURCHASE' | 'PRIVACY_DELETE' | 'REDEEM' | 'REGISTER' | 'RENEW' | 'RENEW_UNDO' | 'TRADE' | 'TRADE_CANCEL' | 'TRADE_PURCHASE' | 'TRADE_PURCHASE_AUTH_TEXT_MESSAGE' | 'TRADE_RESEND_AUTH_EMAIL' | 'TRANSFER' | 'TRANSFER_IN' | 'TRANSFER_IN_ACCEPT' | 'TRANSFER_IN_CANCEL' | 'TRANSFER_IN_RESTART' | 'TRANSFER_IN_RETRY' | 'TRANSFER_OUT' | 'TRANSFER_OUT_ACCEPT' | 'TRANSFER_OUT_REJECT' | 'TRANSFER_OUT_REQUESTED' | 'TRANSIT'>}; export type UpdateApiV2CustomersCustomerIdDomainsNotificationsOptInOptions = {baseUrl: string, fetch?: typeof fetch | undefined}; /** * Opt in to recieve notifications for the submitted notification types * * PUT /v2/customers/{customerId}/domains/notifications/optIn */ export const updateApiV2CustomersCustomerIdDomainsNotificationsOptIn = async (args: UpdateApiV2CustomersCustomerIdDomainsNotificationsOptInArgs, options: UpdateApiV2CustomersCustomerIdDomainsNotificationsOptInOptions) => { const {baseUrl, fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() if (args['X-Request-Id'] != null) headers.set("X-Request-Id", String(args['X-Request-Id'])) for (const item of args.types ?? []) query.append("types", String(item)) const url = `${baseUrl.replace(/\/+$/, '')}/v2/customers/${encodeURIComponent(String(args.customerId))}/domains/notifications/optIn${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "PUT", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return undefined };