export type CreateApiFeatureAccessCodesArgs = {body: {items?: (Array<{code?: string | undefined, feature?: ('ACCESSING_SHARED_VOICEMAIL' | 'ACCESSING_VOICEMAIL' | 'ANONYMOUS_CALL_ACTIVATION' | 'ANONYMOUS_CALL_DEACTIVATION' | 'ANONYMOUS_CALL_REJECTION_ACTIVATION' | 'ANONYMOUS_CALL_REJECTION_DEACTIVATION' | 'AUTOMATIC_CALLBACK_ACTIVATION' | 'AUTOMATIC_CALLBACK_DEACTIVATION' | 'CALL_BRIDGE' | 'CALL_FLIP' | 'CALL_FORWARDING_ALWAYS_ACTIVATION' | 'CALL_FORWARDING_ALWAYS_DEACTIVATION' | 'CALL_FORWARDING_ALWAYS_TO_VOICEMAIL_ACTIVATION' | 'CALL_FORWARDING_ALWAYS_TO_VOICEMAIL_DEACTIVATION' | 'CALL_FORWARDING_BUSY_ACTIVATION' | 'CALL_FORWARDING_BUSY_DEACTIVATION' | 'CALL_FORWARDING_BUSY_TO_VOICEMAIL_ACTIVATION' | 'CALL_FORWARDING_BUSY_TO_VOICEMAIL_DEACTIVATION' | 'CALL_FORWARDING_NO_ANSWER_ACTIVATION' | 'CALL_FORWARDING_NO_ANSWER_DEACTIVATION' | 'CALL_FORWARDING_NO_ANSWER_TO_VOICEMAIL_ACTIVATION' | 'CALL_FORWARDING_NO_ANSWER_TO_VOICEMAIL_DEACTIVATION' | 'CALL_FORWARDING_NOT_REACHABLE_DURING_OFFICE_HOURS_ACTIVATION' | 'CALL_FORWARDING_NOT_REACHABLE_DURING_OFFICE_HOURS_DEACTIVATION' | 'CALL_FORWARDING_NOT_REACHABLE_OUTSIDE_OFFICE_HOURS_ACTIVATION' | 'CALL_FORWARDING_NOT_REACHABLE_OUTSIDE_OFFICE_HOURS_DEACTIVATION' | 'CALL_PARK' | 'CALL_RECORDING_PAUSE' | 'CALL_RECORDING_RESUME' | 'CALL_RECORDING_START' | 'CALL_RECORDING_STOP' | 'CALL_RETRIEVE' | 'CALL_TRANSFER' | 'CALLER_ID_DELIVERY_BLOCKING_PER_CALL' | 'CALLER_ID_DELIVERY_BLOCKING_PERSISTENT_ACTIVATION' | 'CALLER_ID_DELIVERY_BLOCKING_PERSISTENT_DEACTIVATION' | 'CALLER_ID_DELIVERY_PER_CALL' | 'CHANGE_AGENT_STATE_TO_NOT_READY' | 'CHANGE_AGENT_STATE_TO_READY' | 'CLEAR_PUSH' | 'DIRECT_VOICEMAIL_TRANSFER' | 'DIRECTED_CALL_PICKUP' | 'DO_NOT_DISTURB' | 'DO_NOT_DISTURB_ACTIVATION' | 'GROUP_CALL_PARK' | 'GROUP_CALL_PICKUP' | 'LAST_CALL_RETURN' | 'LAST_NUMBER_REDIAL' | 'LOG_AGENT_INTO_QUEUE' | 'LOG_AGENT_OUT_OF_QUEUE' | 'LOGIN_HOT_DESKING' | 'LOGOUT_HOT_DESKING' | 'PAGE_INTERCOM_ACTIVATION_PER_CALL' | 'PER_ANONYMOUS_CALL_ACTIVATION' | 'PER_ANONYMOUS_CALL_DEACTIVATION' | 'RESET_CALLS' | 'SILENT_CALL_MONITORING' | 'SPEED_DIAL_100' | 'SPEED_DIAL_8') | undefined, enabled?: boolean | undefined}>) | undefined}}; export type CreateApiFeatureAccessCodesOptions = {baseUrl?: string | undefined, bearer?: string | undefined, fetch?: typeof fetch | undefined}; /** * Update feature access code * * POST /feature_access_codes */ export const createApiFeatureAccessCodes = async (args: CreateApiFeatureAccessCodesArgs, options?: CreateApiFeatureAccessCodesOptions) => { const {baseUrl = "https://HOSTNAME:8887/api", fetch: fetchFn = fetch, bearer} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") if (bearer !== undefined) headers.set('authorization', `Bearer ${bearer}`) const url = `${baseUrl.replace(/\/+$/, '')}/feature_access_codes${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", 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 };