export type UpdateApiOpportunitiesIdArgs = {id: number, body: {owner?: number | undefined, account?: number | undefined, stage?: number | undefined, lost_reason?: number | undefined, files?: Array> | undefined, lead_source?: number | undefined, start_date?: string | undefined, probability?: number | undefined, assignee?: number | undefined, creator?: number | undefined, name?: string | undefined, value?: number | undefined, close_date?: string | undefined, closed?: boolean | undefined, done?: boolean | undefined, tags?: Array | undefined, recurring_price_per_unit?: number | undefined, frequency?: ('annually' | 'weekly' | 'monthly' | 'daily') | undefined, units?: number | undefined, contract_start_date?: string | undefined, contract_end_date?: string | undefined, main_contact?: number | undefined, custom?: Record | undefined}}; export type UpdateApiOpportunitiesIdOptions = {baseUrl?: string | undefined, fetch?: typeof fetch | undefined}; /** * Update an opportunity * * PUT /opportunities/{id} */ export const updateApiOpportunitiesId = async (args: UpdateApiOpportunitiesIdArgs, options?: UpdateApiOpportunitiesIdOptions) => { const {baseUrl = "https://api.salesflare.com", fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "*/*") const url = `${baseUrl.replace(/\/+$/, '')}/opportunities/${encodeURIComponent(String(args.id))}${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "PUT", 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() };