0

Get an estimate of withholding amount given an equity event.

by
Published Oct 17, 2025

Get an estimate of the withholding amount required as well as the assumptions behind the estimate, given a contract id, event amount and currency code. **Token scopes**: `contracts:read`, `global-payroll:read`

Script deel Verified

The script

Submitted by hugo697 Bun
Verified 235 days ago
1
//native
2
/**
3
 * Get an estimate of withholding amount given an equity event.
4
 * Get an estimate of the withholding amount required as well as the assumptions behind the estimate, given a contract id, event amount and currency code.
5
 **Token scopes**: `contracts:read`, `global-payroll:read`
6
 */
7
export async function main(
8
	auth: RT.Deel,
9
	contract_id: string,
10
	event_value: string | undefined,
11
	event_currency: string | undefined
12
) {
13
	const url = new URL(
14
		`https://api.letsdeel.com/rest/v2/contracts/${contract_id}/equity_withholding_estimate`
15
	)
16
	for (const [k, v] of [
17
		['event_value', event_value],
18
		['event_currency', event_currency]
19
	]) {
20
		if (v !== undefined && v !== '') {
21
			url.searchParams.append(k, v)
22
		}
23
	}
24
	const response = await fetch(url, {
25
		method: 'GET',
26
		headers: {
27
			Authorization: 'Bearer ' + auth.apiKey
28
		},
29
		body: undefined
30
	})
31
	if (!response.ok) {
32
		const text = await response.text()
33
		throw new Error(`${response.status} ${text}`)
34
	}
35
	return await response.json()
36
}
37