export type Role = {customers?: Array | undefined, name?: ('ROLE_CUSTOMER_ADMIN' | 'ROLE_SITE_ADMIN' | 'ROLE_SITE_PRODUCTION' | 'ROLE_SITE_TECHNICAL' | 'ROLE_SITE_MARKETING' | 'ROLE_SITE_DEMO' | 'ROLE_SITE_ABTESTS_RESTRICTED' | 'ROLE_SITE_AUTO_PROMO_PERSO_ONLY') | undefined, privileges?: (Array<'GETONE_CUSTOM_DATA' | 'CREATE_CUSTOM_DATA' | 'UPDATE_CUSTOM_DATA' | 'REMOVE_CUSTOM_DATA' | 'GETONE_KEYPAGE' | 'CREATE_KEYPAGE' | 'UPDATE_KEYPAGE' | 'REMOVE_KEYPAGE' | 'GETONE_REFERRER' | 'CREATE_REFERRER' | 'UPDATE_REFERRER' | 'REMOVE_REFERRER' | 'GETONE_EXPERIMENT' | 'CREATE_EXPERIMENT' | 'DUPLICATE_EXPERIMENT' | 'UPDATE_EXPERIMENT' | 'REMOVE_EXPERIMENT' | 'GETONE_FEATUREFLAG' | 'CREATE_FEATUREFLAG' | 'DUPLICATE_FEATUREFLAG' | 'UPDATE_FEATUREFLAG' | 'REMOVE_FEATUREFLAG' | 'GETONE_GOAL' | 'CREATE_GOAL' | 'UPDATE_GOAL' | 'REMOVE_GOAL' | 'GETALL_INTEGRATION' | 'UPDATE_INTEGRATION' | 'GETONE_PERSONALIZATION' | 'CREATE_PERSONALIZATION' | 'DUPLICATE_PERSONALIZATION' | 'UPDATE_PERSONALIZATION' | 'REMOVE_PERSONALIZATION' | 'GETONE_SEGMENT' | 'CREATE_SEGMENT' | 'UPDATE_SEGMENT' | 'REMOVE_SEGMENT' | 'GETONE_TARGETINGCONDITION' | 'GETONE_SITE' | 'CREATE_SITE' | 'UPDATE_SITE' | 'REMOVE_SITE' | 'GETONE_VARIATION' | 'CREATE_VARIATION' | 'DUPLICATE_VARIATION' | 'UPDATE_VARIATION' | 'REMOVE_VARIATION' | 'PREVISUALIZE_VARIATION' | 'GETONE_WIDGET' | 'CREATE_WIDGET' | 'UPDATE_WIDGET' | 'REMOVE_WIDGET' | 'GETONE_THEME' | 'CREATE_THEME' | 'UPDATE_THEME' | 'REMOVE_THEME' | 'DUPLICATE_THEME'>) | undefined, sites?: Array | undefined}; export type Account = {amClientId?: string | undefined, amClientSecret?: string | undefined, dateCreated?: string | undefined, email?: string | undefined, firstName?: string | undefined, id?: number | undefined, imageURL?: string | undefined, isPasswordExpired?: boolean | undefined, isProductRecoAllowed?: boolean | undefined, lastName?: string | undefined, password?: string | undefined, passwordBlocked?: boolean | undefined, passwordConfirm?: string | undefined, preferredLocale?: ('fr' | 'en' | 'de') | undefined, roles?: Array | undefined, solutions?: (Array<'WEB_EXPERIMENTATION' | 'FEATURE_EXPERIMENTATION'>) | undefined, status?: ('CREATED' | 'ACTIVATED' | 'DEACTIVATED') | undefined, teamId?: number | undefined}; export type CreateApiAccountsArgs = {body: Account}; export type CreateApiAccountsOptions = {baseUrl?: string | undefined, bearerAuth?: string | undefined, fetch?: typeof fetch | undefined}; /** * Create a new account * * POST /accounts */ export const createApiAccounts = async (args: CreateApiAccountsArgs, options?: CreateApiAccountsOptions) => { const {baseUrl = "https://api.kameleoon.com", fetch: fetchFn = fetch, bearerAuth} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "*/*") if (bearerAuth !== undefined) headers.set('authorization', `Bearer ${bearerAuth}`) const url = `${baseUrl.replace(/\/+$/, '')}/accounts${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 res.blob() };